- 找出所有子类共通的操作行为
- 设法找出那些行为与类型相关,即需要根据不同派生类定义成不同的实现方式(虚函数)
- 找出访问层级
- public:一般程序都能访问
- private:基类之外不需要被用到(即使派生类也无法访问基类的private member)
- protected:可以让派生类访问,不可以让一般程序访问;
:::info
纯虚函数
纯虚函数无实质意义,一般可以写作:virtual void function()=0;
- 声明为纯虚函数的类不可以有对象
- 此类派生的类必须对纯虚函数重构or覆写
- 一般而言基类中有虚函数时,析构函数也定义成虚函数; :::