c++ - 从基类方法调用子类虚方法

标签 c++ methods polymorphism virtual

class A
{
public:
    virtual void
        doSomething(void)
    {}

    void
        doStuff(void)
    {
        doSomething();
    }
};

class B : public A
{
public:
    void
        doSomething(void)
    {
        // do some stuff here
    }
};

B * b = new B;
b->doStuff();

它给我段错误。我究竟做错了什么?在我看来它应该运作良好!

最佳答案

在我更正了语法错误并添加了一个 main() 函数之后,它为我编译和执行时没有任何问题。尝试发布导致问题的真实代码,并重新考虑您的代码格式。

关于c++ - 从基类方法调用子类虚方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2071403/

相关文章:

c++ - 寻找用于计算 IP 地址的算法/类(直方图)

c++ - 如何在 C++ 中定义矩阵(数组)列表

c++ - SARSA的Zeta变量(lamda)

java - 将对象从一个类移动到另一个类 (Java)

c# - 类方法 : should I always check variables before accessing them?

oop - Haskell 中的面向对象多态性

c++ - 在 C++ 中将数据作为 void* 传递

javascript - 如何在 Javascript 中读取本地文件(从 Electron 应用程序运行)

java - 如何将数组与多态性一起使用?

c++ - 等价于基类指针容器的虚拟方法?