に派生クラスに基本クラスから結果を得ることができ、我々は2つの数の減算を格納するクラスB
に2つの数の追加を保存するクラスA
内の変数z
、および変数w
を持っている、と我々は派生クラスD
を作成すると - z
とw
に保存されているこれらの値を派生クラスD
に持たせることで、これらの数値を掛けることができますか?は、我々は、継承
コードは次のようになります:あなたはおそらく何かしたい
#include <iostream>
using namespace std;
class c1
{
int x, y;
public:
void getdata1(int a, int b)
{
x = a;
y = b;
}
void add1()
{
int z = x + y;
cout << "the sum is " << z << endl;
}
};
class c2
{
int x, y;
public:
void getdata2(int a, int b)
{
x = a;
y = b;
}
void sub1()
{
int w = x - y;
cout << "the sum is " << w << endl;
}
};
class D: public c1, public c2
{
/////////////////////////////////////////////////////////////////////////////////////
public:
void display()
{
cout << "the product is s" << z + w; // something like this
}
};
///////////////////////////////////////////////////////////////////////////////////////
int main()
{
D obj1;
obj1.getdata1(10, 5);
obj1.getdata2(10, 5);
obj1.add1();
obj1.sub1();
obj1.display();
return 0;
}
あなたのコードを適切に書式設定してください。また、実際に**データを設定する 'getdata()'メソッドを記述しないでください。 –
'z'と' w'はクラス 'c1'と' c2'のデータメンバーではありません。それらはそれぞれの関数の局所変数です。 'D'で' z'と 'w'を継承したい場合は、それぞれのクラスのpublic/protectedメンバーとして宣言する必要があります。 –
ところで:この例は、データメンバーが何のために作られたのか、またどのような方法が良いのかを完全に誤解しているように見えます。また、複数のデータメンバーが1つのインスタンスで複数の「オブジェクト」を表しているので、OOPデザインはここでは見ることができません。 – Klaus