サブクラスがベースクラスのメソッドをオーバーライドする場合、ベースクラスのオーバーロードのすべてがサブクラスから利用できるわけではありません。using BaseClass::Method;
それらを使用するには、サブクラスに行を追加する必要があります。
オーバーライドされたすべてのメソッドに対して基本クラスのオーバーロードを継承する簡単な方法はありますか? using ...
(メソッドごとに明示的に指定する必要はありません)
サブクラスがベースクラスのメソッドをオーバーライドする場合、ベースクラスのオーバーロードのすべてがサブクラスから利用できるわけではありません。using BaseClass::Method;
それらを使用するには、サブクラスに行を追加する必要があります。
オーバーライドされたすべてのメソッドに対して基本クラスのオーバーロードを継承する簡単な方法はありますか? using ...
(メソッドごとに明示的に指定する必要はありません)
いいえ。using
宣言でのみ可能であり、個々のメソッドでのみ機能します。
メソッドを呼び出すときにクラスのスコープを明示的に指定することで、基底クラスのメソッドにアクセスできます...
例えば
class Base{
public: void foo(){}
};
class Derived : public Base {
public: void foo(int){}
};
int main()
{
Derived d;
*d.Base::foo();* // like this
}