所谓基础不牢,地动山摇。当面试官问到我虚函数和虚析构函数的时候,我真的一点都记不起来了,于是胡说八道,出丑万分。今天就总结一下虚函数的一些内容吧。
依照我的习惯,我们先看几个问题:
- 什么是虚函数?
- 什么是多态性?
- 多态性是怎么实现的?
以上三个问题我完全搞混了,所以面试当场气氛很尬。接下来抱着解决问题的态度来复习一下这些知识点,希望以后能记住。
- 什么是虚函数?
在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数。
#include <iostream>
using namespace std;
class baseType{
public:
virtual void print(){
cout<<"This is baseType"<<endl;
}
}
class dependentType: public baseType{
public:
virtual void print(){
cout<<"This is dependentType"<<endl;
}
}
好了,这样一来虚函数就被定义好了。那么问题来了,这么定义有什么意义?这么定义解决了什么问题?我们继续解决下一个问题。
- 什么是多态性
多态是面向对象三大特性之一:封装性ÿ