1
コンパイラでオブジェクトをクラスからインスタンス化して別のクラスで使用できるようにする方法はありますか?あるいは、その問題を扱う優雅な方法は何ですか?例えばC++すでにインスタンス化されているオブジェクトを使用する
:
A.h
class A
{
int x;
A()
{
//x is being read from a file
}
void printX();
};
B.h
class B
{
void somefunction()
{
objectA.printX();
}
}
main.cpp
main()
{
A objectA;
...
B objB;
objB.somefunction();
}
多分 'B :: someFunction()'へのパラメータとして 'objectA'を渡しますか? –
AにメンバーとしてBを追加したり、objBのコンストラクタにbass objectAを追加することができます。 – Unick
'B'に' A'会員がいますか? 'A'への参照を保持しますか?それは私たちには知られていないあなたのユースケースに依存します。 – StoryTeller