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;