当不重写虚函数时,使用虚函数的目的是为了实现多态性。虚函数允许在基类中声明一个方法,然后在派生类中通过重写该方法来实现不同的行为。通过使用基类指针或引用调用虚函数时,会根据实际对象的类型来确定调用的具体方法。
以下是一个包含代码示例的解决方法:
#include
class Base {
public:
virtual void print() {
std::cout << "Base" << std::endl;
}
};
class Derived : public Base {
public:
void print() override {
std::cout << "Derived" << std::endl;
}
};
int main() {
Base* basePtr = new Base();
Base* derivedPtr = new Derived();
basePtr->print(); // 输出 "Base"
derivedPtr->print(); // 输出 "Derived"
delete basePtr;
delete derivedPtr;
return 0;
}
在上述示例中,Base
类声明了一个虚函数 print()
,而 Derived
类继承自 Base
类并重写了 print()
方法。在 main()
函数中,我们创建了一个指向 Base
类和 Derived
类的指针,并分别调用了 print()
方法。由于 print()
方法是虚函数,它会根据指针指向的实际对象类型来调用相应的方法,从而实现了多态性。
上一篇:不重写其超类的方法吗?
下一篇:不重写一个表格的合并