0

私は C++ の初心者で、私の質問はばかげているかもしれません。

以下のように定義されたクラス A、B、および C があります。

class A {
public:
    typedef Resouce Money;
};

class B
   :public A {
};

class C {
public:
    typedef B::Money MyMoney;
};

これは有効ですか?「Money」はクラス B で明示的に定義されていないため、混乱しています。

前もって感謝します!

4

2 に答える 2

2

これは有効です、はい。

はをB明示的に定義していませんが、( ) から継承したことMoneyを公に宣言しています。さらに、の定義は public であるため、 public メンバとして持つことになります。: public AAAMoneyBMoney

于 2013-10-25T16:11:45.227 に答える
0

パブリック (またはプロテクト) 基本クラスのすべてのパブリック メンバーおよびプロテクト メンバーは、派生クラスのアクセス可能なメンバーです。「メンバー」はメンバー変数、メンバー関数、およびメンバー型で構成され、「型」は型エイリアスと新しく定義された型で構成されます。

したがって、メンバーA::Moneyは としても利用できますB::Money

于 2013-10-25T16:16:54.933 に答える