Fork me on GitHub

虚函数的使用

在函数run()前加关键字virtual,表示该函数是有多种形态的,即该函数可能被多个对象所拥有,而且功能不一,换句话说多个对象在调用同一个名字的函数产生的效果也不一样,那么系统在执行到由关键字virtual的函数时就会自动判断是哪个对象调用了它,然后调用该对象的同名函数

代码示例

 1 #include <iostream>
 2 using namespace std;
 3 class father
 4 {
 5 public:
 6     virtual void run()const{cout<<"父亲可以跑万米\n";}//关键字virtual
 7     void jump()const{cout<<"父亲可以跳五个台阶\n";}//const修饰符
 8 };
 9 class son:public father
10 {
11 public:
12     void run()const{cout<<"儿子可以跑十万米\n";}
13     void jump()const{cout<<"儿子可以跳十个台阶\n";}
14 };
15 int main()
16 {
17     father *p=new son;    //指向父类的指针可以指向子类的对象
18     p->jump();
19     p->run();
20     delete p;            //释放p指针所指向的空间
21     return 0;
22 }

结果演示

posted @ 2015-08-13 22:41  夏成都  阅读(215)  评论(0编辑  收藏  举报