我想跟踪我系统中的学生数量,所以我的想法是在“ StudentController ”类中创建一个名为“_numOfStudents”的静态数据成员,并使用学生的构造函数增加它,但它不起作用,我移动了将其放入“Student”类中,并在创建 Student 对象时在构造函数的帮助下增加数字。问题是:这不是学生班的事吗?知道有多少学生因此违反了最小特权原则。我能做些什么来更好地跟踪学生对象的数量。
Student(string firstName, string lastName, int age,vector<float>&subjects)//Student conctructor
{
SetFirstName(firstName);
setLastName(lastName);
SetAge(age);
SetMarks(subjects);
this->m_id++;
StudentController::_numberOfStudents++;
}
class StudentController//this is where i declared the static data member
{
private:
list<Student> _students;
public:
static int _numberOfStudents;
StudentController() {};
StudentController(list<Student>& st) :_students(st) {};
}
}
};
int StudentController::_numberOfStudents = 0;