3組と3組のコンストラクタを持つプログラムを作成する必要があります。私はデフォルトコンストラクタを作成したときしかし、それは前に「)」私があることが必要というエラーを与えた「」行デフォルトのコンストラクタC++形式
#include <string>
class Vehicle
{
public:
Vehicle(std::string vehicleType, int numberOfDoors, int maxSpeed)
: type{vehicleType}, number{numberOfDoors}, speed{maxSpeed}{}
void setType(std::string vehicleType) {
type = vehicleType;}
void setNumber(int numberOfDoors){
number = numberOfDoors;}
void setSpeed(int maxSpeed) {
speed = maxSpeed;}
Vehicle(string, int, int);
~Vehicle();
Vehicle();
std::string getType() const {return type;}
int getNumber() const {return number;}
int getSpeed() const {return speed;}
private:
std::string type;
int number;
int speed;
};
に誰かが間違っているものを私に言うことはできますか?
'ビークル(文字列、int型、int)を参照してください;' - それは 'のstdでなければなりません::文字列 '。 'string'はここの型の名前ではありません。 – yeputons
なぜ同じコンストラクタを2回宣言していますか? 'Vehicle(std :: string vehicleType、int numberOfDoors、int maxSpeed)'および 'Vehicle(string、int、int)'のようになります。 – iosdude
@iosdude 私はそれを残しておけば、vehicle:vehicleには未定義の参照があります。つまり、デフォルトコンストラクタがないことを意味します。 – xx123