gpt4 book ai didi

C++继承。获取基类的数据成员值

转载 作者:太空宇宙 更新时间:2023-11-04 13:53:38 25 4
gpt4 key购买 nike

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com