ページ 11

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

Posted: 2013年11月09日(土) 01:20
by kiuri

コード:

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と出力されてほしい
}
上記コードのように基底クラスの関数をオーバーライドしたときに、基底クラス側の関数も呼び出すことはできないでしょうか?

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

Posted: 2013年11月09日(土) 01:29
by たいちう
こうゆうことですか?

コード:

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

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

Posted: 2013年11月09日(土) 13:19
by kiuri
灯台下暗しでした。
そうか、そう呼び出せばよかったんですね・・・

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