基本クラスのインスタンスからすべての変数を変更できる派生クラスを作成するにはどうすればよいですか? 基本クラス変数を静的に宣言できることは理解していますが、そうすると、関数を使用してそれらを初期化することができず、コードが非常にメッセージになり、編集が難しくなります。
これはクラスの例です。c2 が theC1 クラスの x を編集しないのはなぜですか。theC1 ではない c1 クラスを参照している場合、参照しているのは何ですか?
#include <stdio.h>
class c1
{
public:
c1( int d )
{
x = d;
}
int x;
};
class c2 : public c1
{
public:
c2( c1& ref )
:
c1( ref )
{};
void setx()
{
x = 5;
}
};
int main ()
{
c1 theC1(4);
c2 theC2(theC1);
theC2.setx();
printf( "%d\n",theC1.x );
printf( "%d\n",theC2.x );
return 0;
}