name
の派生クラスa
からクラスb
にアクセスできません。どうやってやるの?私は唯一のクラスb
で機能を使用することができますが、クラスa
から値にアクセスすることはできませんC++の派生クラスから値を取得する方法
#include<iostream>
#include<string>
using namespace std;
class a
{
public:
void getname()
{
string name; //trying to access value from other child class
cout << "enter your name" << endl;
getline(cin, name);
cout << " your name is " << name << endl;
}
};
class b: public a
{
int age;
public:
void old()
{
cout << "enter your age" << endl;
cin >> age;
cout << "your age is" << age << endl;
}
void print()
{
cout << " your name is " << name << endl; //cant access it
cout << "your age is" << age << endl;
}
};
int main()
{
b o;
o.getname();
o.old();
o.print();
return 0;
}
。
問題のテキストとしてのコードを投稿してください。これは、人々が自分でテストすることを容易にします。 – DeiDei
ありがとうありがとうございました –
'name'はインスタンスフィールドではありません。あなたの関数には**ローカル変数**があり、アクセスする方法はありません。インスタンスフィールドであることを意図していたら、その定義を 'getname'関数の外に移動してください。 –