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