虚函数的本质
- 形式上使用的是统一的父类的指针进行一般性的操作
- 实际上,这个指针指向子类对象
- 形式上调用父类函数,实际调用子类同名函数
注意:在程序执行时,父类指针指向父类对象或者子类对象形式上是无法分辨的的,只有通过使用多态机制,才能调用真正的对应方法。
如何使用虚函数
在父类要使用虚函数的函数的返回类型前面加上virtual ,只是声明的时候加,函数实现的时候不用加。
具体代码实现
#include<iostream>
using namespace std;
class Father {
public:
virtual void play() {
cout << "一起来做大保健" << endl;
}
};
class Son:public Father {
public:
void play() { cout << "一起来打篮球" << endl; }
};
int main() {
Father *father;
father = new Son; //只有把子类对象的地址赋值给父类指针才能实现多态
father->play();
getchar();
return 0;
}
1289

被折叠的 条评论
为什么被折叠?



