1
おそらく非常に単純な質問ですが、私はこれを理解する時間の悪魔を持っています。私は、基本クラスを持っている:C++派生クラスアクセスする基底クラスメンバ
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を呼び出すとき:
class UserInfo: public User
{
public:
void GetUser();
};
および方法:
class User
{
public:
User();
~User();
void GetUser();
void SetUser();
protected:
std::string name;
};
はここに私の派生クラスです()を呼び出すと、Userクラスのnameメンバに格納されている値は実行も取得もされません。その価値をどうやって得るのですか?ありがとう。
表示されているコードには明らかに間違ったことは何もありません(もちろん、記載された質問に直接関係するものはありません)。したがって、問題は表示されていないコードに含まれている必要があります。 –
GetUser()を呼び出すコードを表示します。おそらく 'User'クラスの' GetUser(); 'の代わりに' virtual void GetUser(); 'を使いたいかもしれません。 – drescherjm
[私のための作品](http://rextester.com/PUMIM54797) –