1
可能是一個非常簡單的問題,但我有一個時間的魔鬼搞清楚這一點。我有一個基類:C++派生類訪問基類成員
class User
{
public:
User();
~User();
void GetUser();
void SetUser();
protected:
std::string name;
};
這裏是我的派生類:
class UserInfo: public User
{
public:
void GetUser();
};
而且方法:
User::User()
{
name = "";
}
void User::GetUser()
{
cout << name;
}
void User::SetUser()
{
cin >> name;
}
User::~User()
{
name = "";
}
void UserInfo::GetUser()
{
cout << " ";
User::GetUser();
cout << ", you entered: ";
}
一切似乎都做工精細,但當我打電話的UserInfo ::的getUser ()從程序中,它不會執行或檢索存儲在User類的名稱成員中的值。我如何得到這個價值?謝謝。
顯示的代碼沒有任何明顯的錯誤(當然,沒有什麼與指定的問題直接相關)。因此,問題必須出現在未顯示的代碼中。 –
顯示調用GetUser()的代碼。也許你想在'User'類中使用'virtual void GetUser();'而不是'void GetUser();'。 – drescherjm
[Works for me](http://rextester.com/PUMIM54797) –