Effective C++読んでて初めて知った。今まで知らなかった…orz
メモしておこう。
#include <iostream> using std::cout; using std::endl; class Base { public: virtual void Func() = 0; virtual ~Base() {} }; void Base::Func() { cout << "Base Func" << endl; } class Derived : public Base { public: virtual void Func() { cout << "Derived Func" << endl; } }; int main() { Base* pBase = new Derived(); pBase->Func(); pBase->Base::Func(); delete pBase; return 0; }
実行結果
Derived Func Base Func 続行するには何かキーを押してください . . .
参考文献
スコット・メイヤーズ:"Effective C++ プログラムとデザインを改良するための55項目"、株式会社ピアソン・エデュケーション(2006)