オーバーライドされた基底クラスの関数の呼び出し

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kiuri
記事: 20
登録日時: 6年前

オーバーライドされた基底クラスの関数の呼び出し

#1

投稿記事 by kiuri » 5年前

コード:

class foo{
    public:
    virtual void func(){cout << "foo" << endl;}
};
class bar : public foo{
    public:
    void func(){cout << "bar" << endl;}
};
int main(){
    bar b;
    b.func();//foo/nbarと出力されてほしい
}
上記コードのように基底クラスの関数をオーバーライドしたときに、基底クラス側の関数も呼び出すことはできないでしょうか?

たいちう
記事: 418
登録日時: 9年前

Re: オーバーライドされた基底クラスの関数の呼び出し

#2

投稿記事 by たいちう » 5年前

こうゆうことですか?

コード:

class bar : public foo{
public:
	void func() {
		foo::func();
		cout << "bar" << endl;
	}
};

kiuri
記事: 20
登録日時: 6年前

Re: オーバーライドされた基底クラスの関数の呼び出し

#3

投稿記事 by kiuri » 5年前

灯台下暗しでした。
そうか、そう呼び出せばよかったんですね・・・

ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る