2015-12-14 63 views
3

在我的計算機科學類中,我在頭文件中有一個枚舉值,並且在get和set函數中遇到了麻煩。我對C++很陌生。這是我的頭文件的一部分:在C++中獲取和設置方法OOP

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) 
{ 

} 

但「這」帶來了一個錯誤,並說,「這」只可使用在非靜態成員函數內部。我怎樣才能讓這個功能起作用?我的電腦老師告訴我,這就是我應該如何編寫get函數的代碼,但我仍然不明白,在頭文件中是否有錯誤?

回答

4

對於.cpp文件,你應該有:

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

基本上,在C++中,你需要指定什麼類的功能的一部分(在這種情況下,School)定義成員函數時,或否則編譯器不會將其視爲任何類的一部分。您還需要保持方法名稱一致(GetSchoolType vs GetTypeSchool)。