请教一下,父类虚函数如果有重载,子类必须全部重写吗?

Poopaye Poopaye 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
class Parent
{
public:
virtual void Method(void){}
virtual void Method(int i){}
};

class Child : public Parent
{
public:
virtual void Method(int i){}
};

int main(void)
{
Child *child = new Child();
child->Method(); //这里会报参数过少的错误
((Parent *)child)->Method(); //这样就没问题
return 0;
}


代码如上,如果Parent只有一个Method方法,Child即便不重写也不会出错
但一旦重写了那个带参数的,子类对象就找不到另一个没参数的了
请问c++是有这样的规定吗?
...全文
评论 4
收藏 已收藏
分享
返回顶部
Poopaye
C++ 语言 65,214 成员 250,514 内容