在我的计算机科学课中,我在头文件中有一个枚举值,并且我在使用get和set函数时遇到了麻烦。我对C ++很陌生。这是我的头文件的一部分:
enum class SchoolType {
Elementary = 1,
Secondary = 2
};
class School : public Institution
{
public:
// There are a couple more values here
SchoolType GetSchoolType();
void SetSchoolType(SchoolType typeSchool);
};
这是我的.cpp文件的一部分:
SchoolType GetTypeSchool()
{
return this->_typeSchool;
}
void SetTypeSchool(SchoolType typeSchool)
{
}
但是'这个'提出一个错误并说“这个'只能在非静态成员函数中使用。我怎样才能使这个功能起作用?我的电脑老师告诉我,这就是我应该如何编写获取功能,但我仍然不明白,是否有一些我在标题中做错了?
答案 0 :(得分:4)
对于.cpp文件,您应该:
SchoolType School::GetSchoolType() {
return this->_typeSchool;
}
void School::SetSchoolType(SchoolType typeSchool) {
// Insert code here...
}
基本上,在C ++中,您需要在定义成员函数时指定函数所属的类(在本例中为School
),否则编译器不会将其视为属于任何课程。您还需要保持方法名称的一致性(GetSchoolType
vs GetTypeSchool
)。