在C++代码中获取虚拟值,而不是预期值,可以通过使用虚函数来实现。虚函数是在基类中声明为虚拟的函数,它可以在派生类中被重写。通过使用虚函数,可以实现在运行时根据对象的实际类型来调用相应的函数。
在C++中,通过将基类的成员函数声明为虚函数,可以实现多态性。当通过基类指针或引用调用虚函数时,实际调用的是派生类中重写的函数。
以下是一个示例代码:
#include <iostream>
class Base {
public:
virtual void getValue() {
std::cout << "Base::getValue() called" << std::endl;
}
};
class Derived : public Base {
public:
void getValue() override {
std::cout << "Derived::getValue() called" << std::endl;
}
};
int main() {
Base* basePtr = new Derived();
basePtr->getValue(); // 输出 "Derived::getValue() called"
delete basePtr;
return 0;
}
在上述代码中,Base
类中的getValue()
函数被声明为虚函数,并在派生类Derived
中进行了重写。在main()
函数中,通过将Derived
类的对象地址赋值给Base
类的指针basePtr
,然后调用basePtr->getValue()
,实际上调用的是Derived
类中重写的getValue()
函数。
这种通过虚函数实现的多态性可以在需要根据对象的实际类型来调用不同函数的场景中发挥作用,提高代码的灵活性和可扩展性。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。
领取专属 10元无门槛券
手把手带您无忧上云