在派生类上强制使用派生类成员可以通过以下两种方式实现:
virtual 返回类型 函数名() = 0;
,例如:virtual void doSomething() = 0;
返回类型 函数名() override { // 实现代码 }
,其中override
关键字可以帮助编译器检查是否成功重写了基类的纯虚函数。Base
声明了纯虚函数 doSomething()
,派生类 Derived
必须实现这个函数:Base
声明了纯虚函数 doSomething()
,派生类 Derived
必须实现这个函数:virtual 返回类型 函数名();
,例如:virtual void doSomething();
Base
声明了虚函数 doSomething()
,派生类 Derived
可以选择是否覆盖这个函数:Base
声明了虚函数 doSomething()
,派生类 Derived
可以选择是否覆盖这个函数:需要注意的是,无论是使用纯虚函数还是虚函数,基类都需要被声明为抽象类。抽象类是指含有纯虚函数的类,不能直接实例化对象。只能通过派生类来创建对象。如果基类中还包含了其他非纯虚函数,派生类可以选择是否覆盖这些函数。
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云