纯虚函数作用:
子类必须重写此函数,否则子类无法实例化对象
抽象类:
有纯虚函数的类叫做抽象类,无法实例化对象
语法:
virtural 返回值类型 函数名(参数列表)= 0;
#include<iostream>
#include<cstdio>
using namespace std;
class A{
public:
// 虚函数
virtual void func() = 0;
};
class B:public A{
public:
void func(){
cout<<"B的func()"<<endl;
}
};
// 地址晚绑定 (在运行时确定函数地址)
void f(A &a){
a.func(); // 向上转化 子类默认向父类转化
}
int main(){
B b = B();
f(b);
return 0;
}