C++学习 多态&抽象类

多态
概念:
run-time binding(函数名和函数入口点的绑定发生在程序运行时刻)
complie-time binding(程序再编译时进行函数名和函数入口的绑定)

多态的本质:run-time binding

多态的条件:
1.必须有继承
2.子类要把虚函数重写(override)(派生类的virtual可以省略)
3.父类类型的指针或引用(不能是对象),要用它调用虚函数

多态的好处:灵活性

析构中的多态:
    析构函数也要加virtual,不然析构时只会调用基类的析构函数,而不会调用派生类的析构函数


抽象类(一般用在多态) 
class ABC{
public:
    virtual void open() = 0;    //纯虚函数
};
抽象类不能实例化,但可以有指针或引用
子类继承以后要把父类全部重写,不然子类也还是一个抽象类


你可能感兴趣的:(C++学习 多态&抽象类)