ここに私がやろうとしていることの簡略化されたバージョンがあります
class Firstclass
{
public:
Firstclass(int x)
{
//do things with x;
}
};
class Secondclass
{
public:
Secondclass()
{
Firstclass a(10);
}
void func()
{
//Do things with a
}
private:
Firstclass a;
};
したがって、int 引数を取るコンストラクタを持つクラス (Firstclass) があります。ここで、別のクラス (Secondclass) のコンストラクター内にそのクラスのインスタンスを作成したいと思います。
台詞
private:
Firstclass a;
a がクラスではなく単なる変数である場合にどうするか: 最初に言及して、他の場所で使用できるようにします (たとえば、関数 func() で)。コンパイラは Secondclass のコンストラクタが何をすべきかを理解していないため、これはクラスでは機能しないようです。
これを正しく行うにはどうすればよいですか?