相关疑难解决方法(0)

为什么隐藏虚拟功能?

我有以下课程:

class A {
public:
    virtual void f() {}
};


class B : public A{
public:
    void f(int x) {}
};
Run Code Online (Sandbox Code Playgroud)

如果我说

B *b = new B();
b->f();
Run Code Online (Sandbox Code Playgroud)

编译器说错误C2660:'B :: f':函数不带0个参数.不应该B中的函数超载它,因为它是一个虚函数?虚拟函数会像这样被隐藏吗?

编辑:我的确意味着从A继承B,它显示了相同的行为.

c++ virtual hide

22
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×1

hide ×1

virtual ×1