• 找出所有子类共通的操作行为
    • 设法找出那些行为与类型相关,即需要根据不同派生类定义成不同的实现方式(虚函数)
    • 找出访问层级
      • public:一般程序都能访问
      • private:基类之外不需要被用到(即使派生类也无法访问基类的private member)
      • protected:可以让派生类访问,不可以让一般程序访问;

    :::info 纯虚函数
    纯虚函数无实质意义,一般可以写作:
    virtual void function()=0;

    • 声明为纯虚函数的类不可以有对象
    • 此类派生的类必须对纯虚函数重构or覆写
    • 一般而言基类中有虚函数时,析构函数也定义成虚函数; :::