Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么下面的代码给了我一个关于抽象类的错误?_C++_Abstract Class - Fatal编程技术网

C++ 为什么下面的代码给了我一个关于抽象类的错误?

C++ 为什么下面的代码给了我一个关于抽象类的错误?,c++,abstract-class,C++,Abstract Class,Car是抽象的,因为它不会覆盖纯虚拟的void Vehicle::Move void Car::Moveint不会覆盖void Vehicle::Move,因为它的参数列表不同。Car是抽象的,因为它不会覆盖纯虚拟void Vehicle::Move void Car::Moveint不会覆盖void Vehicle::Move,因为其参数列表不同。派生类中的Move函数具有不同的签名,它们都采用int 要修复它,还需要在基类中添加一个int参数 1>------ Build starte

Car是抽象的,因为它不会覆盖纯虚拟的void Vehicle::Move

void Car::Moveint不会覆盖void Vehicle::Move,因为它的参数列表不同。

Car是抽象的,因为它不会覆盖纯虚拟void Vehicle::Move

void Car::Moveint不会覆盖void Vehicle::Move,因为其参数列表不同。

派生类中的Move函数具有不同的签名,它们都采用int

要修复它,还需要在基类中添加一个int参数

1>------ Build started: Project: OperatorsTypes, Configuration: Debug Win32 ------
1>  main.cpp
1>c:\users\jorge\documents\visual studio 2010\projects\shapes\operatorstypes\operatorstypes\main.cpp(36): error C2259: 'Car' : cannot instantiate abstract class
1>          due to following members:
1>          'void Vehicle::Move(void)' : is abstract
1>          c:\users\jorge\documents\visual studio 2010\projects\shapes\operatorstypes\operatorstypes\main.cpp(9) : see declaration of 'Vehicle::Move'
1>c:\users\jorge\documents\visual studio 2010\projects\shapes\operatorstypes\operatorstypes\main.cpp(37): error C2259: 'Bus' : cannot instantiate abstract class
1>          due to following members:
1>          'void Vehicle::Move(void)' : is abstract
1>          c:\users\jorge\documents\visual studio 2010\projects\shapes\operatorstypes\operatorstypes\main.cpp(9) : see declaration of 'Vehicle::Move'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
派生类中的Move函数具有不同的签名,它们都采用int

要修复它,还需要在基类中添加一个int参数

1>------ Build started: Project: OperatorsTypes, Configuration: Debug Win32 ------
1>  main.cpp
1>c:\users\jorge\documents\visual studio 2010\projects\shapes\operatorstypes\operatorstypes\main.cpp(36): error C2259: 'Car' : cannot instantiate abstract class
1>          due to following members:
1>          'void Vehicle::Move(void)' : is abstract
1>          c:\users\jorge\documents\visual studio 2010\projects\shapes\operatorstypes\operatorstypes\main.cpp(9) : see declaration of 'Vehicle::Move'
1>c:\users\jorge\documents\visual studio 2010\projects\shapes\operatorstypes\operatorstypes\main.cpp(37): error C2259: 'Bus' : cannot instantiate abstract class
1>          due to following members:
1>          'void Vehicle::Move(void)' : is abstract
1>          c:\users\jorge\documents\visual studio 2010\projects\shapes\operatorstypes\operatorstypes\main.cpp(9) : see declaration of 'Vehicle::Move'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Move在抽象Vehicle类中接受0个参数,在Bus和Car中接受一个int参数,因此它们是不同的函数。将车辆中的原型更改为

Move在抽象Vehicle类中接受0个参数,在Bus和Car中接受一个int参数,因此它们是不同的函数。将车辆中的原型更改为


超级类中缺少参数m。车内

virtual void Move(int) = 0;

在函数重载的C++中,方法和方法不相同。p> 超级类中缺少参数m。车内

virtual void Move(int) = 0;

在函数重载的C++中,方法和方法不相同。p> 如错误所示,Car和Bus是抽象的,因为您没有覆盖void Vehicle::Move。Moveint是一个不同的函数。

正如错误所示,Car和Bus是抽象的,因为您没有覆盖void Vehicle::Move。Moveint是一个不同的函数。

首先,按照惯例,方法名称应该以小写字母开头。第二,这怎么不是一个无限循环?void Moveint m{Movem;}大写起始变量的约定意味着它是一个类名。首先,按照约定,方法名应该以小写字母开头。第二,这怎么不是一个无限循环?void Moveint m{Movem;}大写起始变量的约定表示它是一个类名。 virtual void Move(int) = 0; // add the int