4

サブクラスがベースクラスのメソッドをオーバーライドする場合、ベースクラスのオーバーロードのすべてがサブクラスから利用できるわけではありません。using BaseClass::Method;それらを使用するには、サブクラスに行を追加する必要があります。

オーバーライドされたすべてのメソッドに対して基本クラスのオーバーロードを継承する簡単な方法はありますか? using ...(メソッドごとに明示的に指定する必要はありません)

4

2 に答える 2

6

いいえ。using宣言でのみ可能であり、個々のメソッドでのみ機能します。

于 2009-10-01T11:57:28.957 に答える
1

メソッドを呼び出すときにクラスのスコープを明示的に指定することで、基底クラスのメソッドにアクセスできます...

例えば

class Base{
 public: void foo(){}
};

class Derived : public Base {
 public: void foo(int){}
};

int main()
{
    Derived d;
    *d.Base::foo();* // like this
}
于 2009-10-27T07:45:02.803 に答える