7

単純な継承クラスを考えてみましょう:

class Base 
{
  void func() {
     cout << "base" << endl;
  }
};

class Derived : public Base
{
  void func() {
      cout << "derived" << endl;
  } 
};

Derived::func() を実行すると、

derived

このコードを変更して取得したい

base
derived

オーバーライドというよりも拡張に似たもの。

コンストラクターで同様のものを取得できましたが、通常の関数では取得できませんでした。

どうもありがとう、ルシオ

4

5 に答える 5

23
class Derived : public Base
{
  void func() {
      Base::func();   // Call the base method before doing our own.
      cout << "derived" << endl;
  } 
};
于 2012-04-16T16:17:40.067 に答える
3

派生クラスから基本クラス関数にアクセスするには、次を使用するだけです。

Base::func();

あなたの場合、これは の派生実装の最初の行になりfunc()ます。

于 2012-04-16T16:17:30.373 に答える