在C ++ OOP中获取和设置方法

时间:2015-12-14 19:36:06

标签: c++ visual-studio oop enums

在我的计算机科学课中,我在头文件中有一个枚举值,并且我在使用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)
{

}

但是'这个'提出一个错误并说“这个'只能在非静态成员函数中使用。我怎样才能使这个功能起作用?我的电脑老师告诉我,这就是我应该如何编写获取功能,但我仍然不明白,是否有一些我在标题中做错了?

1 个答案:

答案 0 :(得分:4)

对于.cpp文件,您应该:

SchoolType School::GetSchoolType() {
    return this->_typeSchool;
}
void School::SetSchoolType(SchoolType typeSchool) {
    // Insert code here...
}

基本上,在C ++中,您需要在定义成员函数时指定函数所属的类(在本例中为School),否则编译器不会将其视为属于任何课程。您还需要保持方法名称的一致性(GetSchoolType vs GetTypeSchool)。