学习笔记3-C++-虚函数

来源:互联网 发布:全民淘宝客下载 编辑:程序博客网 时间:2024/05/21 07:10
//虚函数可以实现多态性//折构函数可以是虚函数,构造函数不行#include<iostream>using namespace std;class A{public:int m=0,n=0;virtual void func()//虚函数{cout<<"调用A类func函数"<<endl;}void func2(){cout<<"调用A类func2函数"<<endl;}virtual void func3()=0;//纯虚函数,必须在继承类中定义A(){cout<<"调用A类构造函数"<<endl;}virtual ~A()//此处如果不声明为virtual,折构的时候就不会调用B的折构了,只会调用A的{cout<<"调用A类折构函数"<<endl;}};class B:public A{public:B(){cout<<"调用B类构造函数"<<endl;}void func(){cout<<"调用B类func函数"<<endl;}void func2(){cout<<"调用A类func2函数"<<endl;}void func3(){cout<<"调用B类func3函数"<<endl;}~B(){cout<<"调用B类折构函数"<<endl;}};int main(){A *a=new B();a->func();//这里调用的是B类的func函数a->func2();//这里调用的是A类的func2函数a->func3();//这里调用的是B类的func3函数delete a;//此处会同时调用B和A的折构函数return 0;}

原创粉丝点击