我以前用 C 编程,刚刚转向 C++,在尝试学习 OOP 的同时,我开始从事一个学校管理项目。
我可以使用构造函数创建 1 个对象,如下所示:
Student student1 = Student(string firstname, string lastname, int Age, char Gender, int group);
我如何制作一系列学生班级?
在C中使用struct我可以做这样的事情:
struct student{...};
struct student students[n] //n: number of student i want to add
for(int i=0;i<n;i++){
students[i].name = ...;
}
如何使用类获得相同的结果?
是的,您可以在 C++ 中执行相同类型的循环。除此之外,您需要使用
new[]
来创建数组,因为 变长数组不是标准 C++ 的一部分。
class student{...};
student *students = new student[n];
for(int i = 0; i < n; ++i){
students[i].name = ...;
}
...
delete[] students;
std::vector
来代替并让它处理数组管理,例如:
#include <vector>
class student{...};
std::vector<student> students(n);
for(int i = 0; i < n; ++i){
students[i].name = ...;
}
...
或者:
#include <vector>
class student{...};
std::vector<student> students;
students.reserve(n);
for(int i = 0; i < n; ++i){
students.push_back(Student(params...));
// or: students.emplace_back(params...);
}
...