class A
{
public:
A(int a, int b, int c)
:x(a), y(b), z(c)
{}
void display()
{
cout << "x is " << x << endl;
cout << "y is " << y << endl;
cout << "z is " << z << endl;
}
int x;
protected:
int y;
private:
int z;
};
class B : public A
{
public:
B(int x, int y, int z, int extra)
: A(x, y, z), num(extra)
{}
void display()
{
cout << "x is " << x << endl;
cout << "y is " << y << endl;
//cout << "z is " << z << endl;
}
private:
int num;
};
int main()
{
A yo1(1,2,3,);
B yo2(4,5,6,100); //<---
yo2.display(); //I want to print 1 2 3 100
return 0;
}
我这里有一个简单的继承。使用继承,我想获取 A
的值并将其放入 B
。如何通过创建 B
对象从类 A
访问其数据成员的值?我创建了一个 A
类的对象,并给它们赋值 1、2、3。最后,我想使用 B
类的显示功能打印 1 2 3 100。
我了解如何使用类 A
中的变量,但我是否也可以获取它们的值?
最佳答案
你对继承的概念感到困惑,
B yo2(4,5,6,100);
在此期间,为对象 yo2
创建了与对象 yo1
无关的基类的单独拷贝
A yo1(1,2,3,);
yo1
的数据成员 x,y,z 为 1,2,3,yo2
为 4,5,6
如果你希望输出是
1 2 3 100
然后将对象创建为:
B yo2(1,2,3,100);
关于C++继承。获取基类的数据成员值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22525313/