Julia999 发表于 2019-6-3 14:49:21

虚函数与多态

本帖最后由 Julia999 于 2019-7-31 18:36 编辑

基类指针和派生类指针与基类对象和派生类对象4种可能匹配:直接用基类指针引用基类对象
直接用派生类指针引用派生类对象
用基类指针引用一个派生类对象
用派生类指针引用一个基类对象


*虚函数在析构函数中的应用
*纯虚函数和抽象类class point{/*---------*/};
class shape       //抽象类
{
.........
public:
point where(){return center;}
void move(point p){center=p;draw();}
virtual void rotate(int)=0;   //纯虚函数
virtual void draw()=0;       //纯虚函数
}
.............
shape x;//erroe 抽象类不能建立对象
shape *p; //ok 可以声明抽象类的指针
shape f();//error 抽象类不能作为函数的返回类型
void g();//error 抽象类不能作为函数的传递参数
页: [1]
查看完整版本: 虚函数与多态