18-5.txt

来自「C++完美演绎源代码」· 文本 代码 · 共 34 行

TXT
34
字号
/* 范例:18-5 */
#include <iostream.h>
class Base
{
  public:
    virtual void fun1(){ cout <<"Base::fun1" <<endl; }
    void fun2(){ cout <<"Base::fun2" <<endl; }
};
class Derived:public Base
{
  public:
    void fun1(){ cout <<"Derived::fun1" <<endl; }
    void fun2(){ cout <<"Derived::fun2" <<endl; }
};
void main()
{
  Derived  *obj_Derived = new Derived ;
  Base     *obj_Base    = new Derived ;
  obj_Base->fun1();  	/* 调用Derived::fun1(),依照链接 */
  obj_Base->fun2();  	/* 调用Base::fun2()   */
  obj_Derived->fun1(); 	/* 调用Derived::fun1(),依照链接 */
  obj_Derived->fun2(); 	/* 调用Derived::fun2() */
  delete obj_Base;
  delete obj_Derived;
  getchar();
}

程序执行结果:
Derived::fun1
Base::fun2
Derived::fun1
Derived::fun2

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?