Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
次のシナリオの構文に関して、次の点で何か問題がありますか。
クラスFooとクラスFoo1があり、クラスFooにタイプFoo1のプライベートメンバーがある場合。
.hファイル:
class Foo{ Foo1 *oFoo; public: Foo(Foo1 &Fooy); }
.ccファイル:
Foo::Foo(Foo1 &Fooy){ oFoo = &Fooy; }
上記のコンストラクターでの割り当ては合法ですか?私はC++を初めて使用します。
oFooの代わりにする必要がFooあり、メンバーは初期化子リストで初期化する必要があります。
oFoo
Foo
Foo::Foo(Foo1 &Fooy): oFoo(&Fooy) { }
それ以外の場合は問題ありません。explicitコンストラクターを作成して、不要な暗黙のキャストを防ぐことを検討してください。
explicit