当不重写虚函数时,使用虚函数的目的是为了实现多态性。虚函数允许在基类中声明一个方法,然后在派生类中通过重写该方法来实现不同的行为。通过使用基类指针或引用调用虚函数时,会根据实际对象的类型来确定调用的具体方法。
以下是一个包含代码示例的解决方法:
#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() 方法是虚函数,它会根据指针指向的实际对象类型来调用相应的方法,从而实现了多态性。
上一篇:不重写其超类的方法吗?
下一篇:不重写一个表格的合并