C++ 从基类实例调用派生类方法

C++ 从基类实例调用派生类方法,c++,class,inheritance,polymorphism,derived-class,C++,Class,Inheritance,Polymorphism,Derived Class,我试图使用多态性,从基类实例调用派生的“add”方法 但它仍然希望运行基类RealThing“add”方法 我期望派生类RealThingNextVersion“add”方法 #包括 #包括 使用名称空间std; 类虚拟对象 { 公众: 虚空荷载(){ cout文件); coutRealThingNextVersion中的add与RealThing中的调用签名(不同参数)不同,因此它是一个不同的函数,而不是对add的重写。如果在函数声明中添加override关键字 virtual void ad

我试图使用多态性,从基类实例调用派生的“
add
”方法

但它仍然希望运行基类RealThing“
add
”方法

我期望派生类RealThingNextVersion“
add
”方法

#包括
#包括
使用名称空间std;
类虚拟对象
{
公众:
虚空荷载(){
cout文件);

coutRealThingNextVersion
中的
add
RealThing
中的调用签名(不同参数)不同,因此它是一个不同的函数,而不是对
add
的重写。如果在函数声明中添加
override
关键字

virtual void add(int id, string desc) override;

使用最新的编译器,编译器会告诉您没有重写任何内容。

因此,如何在
RealThingNextVersion
类中创建
add
方法的版本,但有两个参数,可以通过多态性从基类调用?@BlueMark您需要在基类中使用两个参数
add
virtual void add(int id, string desc) override;