私はOOPを初めて使っているので、継承を実装するプログラムを作成しようとしていました。ここでは、派生クラスの幅と高さの値を受け入れています。スーパークラス、すなわちRectangleに同じ値を反映する方法はありますか?つまりRectangleAreaのInput()に幅と高さとして3と4を入力すると、RectangleクラスのDisplay()に同じ値が表示されます。スーパークラスの変数をC++のサブクラスから変更する方法は?
#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;
}
私は非常帳リストから入門C++本を拾ってお勧めします:あなたが理解していることを確認しますhttp://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list –
C++のクラスとオブジェクト(クラスのインスタンス)の違い。 – TerraPass
C++では、スーパークラスは基本クラスと呼ばれ、サブクラスは派生クラスです。 – alain