gpt4 book ai didi

c++ - 如何在C++中从子类更改父类(super class)的变量?

转载 作者:行者123 更新时间:2023-11-30 01:44:26 24 4
gpt4 key购买 nike

我是 OOP 的新手,所以我试图创建一个实现继承的程序。这里我接受派生类中宽度和高度的值。有没有办法在父类(super class)中反射(reflect)相同的值,即 Rectangle也就是,如果我在 RectangleArea 的 Input() 中输入 3 和 4 作为宽度和高度,那么它应该在 Rectangle 类的 Display() 中显示相同的值。

    #include <iostream>

using namespace std;

class Rectangle
{
public:
int width;
int height;
public:
void Display()
{
cout<<"Height"<<height<<",Width"<<width<<endl;
}
};

class RectangleArea : public Rectangle
{
public:
void Input()
{
cin>>width;
cout<<" ";
cin>>height;
}
void Display(int area)
{
cout<<"Area"<<area;
}
};

int main()
{
Rectangle rect;
RectangleArea rect1;
rect1.Input();
rect.Display();
return 0;
}

最佳答案

您已经在更改 Rectangle 类中的变量。但是你有两个实例,一个 (rect) 来自 Rectangle,一个 (rect1) 来自 RectangleArea,因此rect.Display 返回未定义的值——它的 Input 方法还没有被调用。

关于c++ - 如何在C++中从子类更改父类(super class)的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36207894/

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