c++ - 尝试显示时我的第一个类出错

标签 c++

我正在构建一个将创建车辆特性的类,但在尝试在控制台上显示 a1 汽车时遇到了一些困难。我收到一个我无法解释的错误。如果可能,请帮忙

   #include <iostream>
using namespace std;

class Autovehicle {
private:
    //registry number
    char * car_registration_number;
    char engine;
    int engine_cc;
    int avg_consumption;
    int avg_speed;
    int avg_consumption_urban;
    int avg_speed_urban;
    int max_speed;
    static int number_of_autovehicles;
public:
    //getters
    char * get_car_registration_number() {
        return this->car_registration_number;
    }

    char get_engine()
    {
        return this->engine;
    }

    int get_engine_cc() {
        return this->engine_cc;
    }
    int get_avg_consumption() {
        return this->avg_consumption;
    }
    int get_avg_speed() {
        return this->avg_speed;
    }
    int get_avg_consumption_urban() {
        return this->avg_consumption_urban;
    }
    int get_avg_speed_urban() {
        return this->avg_speed_urban;
    }
    int get_max_speed() {
        return this->max_speed;
    }
    static int get_number_of_cars() {
        return number_of_autovehicles;
    }
    //setters
    void set_car_registration_number(char *car_reg_nr) {
        this->car_registration_number = car_reg_nr;
    }
    void set_engine(char eng) {
        this->engine = eng;
    }
    void set_engine_cc(int eng_cc) {
        this->engine_cc = eng_cc;
    }
    void set_avg_consumption(int avg_cons) {
        this->avg_consumption = avg_cons;
    }
    void set_avg_speed(int avg_spd) {
        if (this->avg_speed > avg_spd)
            cout << endl << "You should probably slow down";
        this->avg_speed = avg_spd;
    }
    void set_avg_consumption_urban(int avg_cons_urb) {
        this->avg_consumption_urban = avg_cons_urb;
    }
    void set_avg_speed_urban(int avg_spd_urb) {
        if (this->avg_speed_urban > avg_spd_urb)
            cout << endl << "You should probably slow down";
        this->avg_speed_urban = avg_spd_urb;
    }
    void set_max_speed(int max_spd) {
        this->max_speed = max_spd;
    }
    //default constructor
    Autovehicle(){
        number_of_autovehicles++;
        this->car_registration_number = new char[strlen("There are no autovehicles") + 1];
        strcpy(this->car_registration_number, "There are no autovehicles");
        this->engine = NULL;
        this->engine_cc = 0;
        this->avg_consumption = 0;
        this->avg_speed = 0;
        this->avg_consumption_urban = 0;
        this->avg_speed_urban = 0;
        this->max_speed = 0;

    }
    //constructor
    Autovehicle(char* car_reg_nr, char eng, int eng_cc, int avg_cons, int avg_spd, int avg_cons_urb, int avg_spd_urb, int max_spd){
        number_of_autovehicles++;
        this->car_registration_number = new char[strlen(car_reg_nr) + 1];
        strcpy(this->car_registration_number, car_reg_nr);
        this->engine = eng;
        this->engine_cc = eng_cc;
        this->avg_consumption = avg_cons;
        this->avg_speed = avg_spd;
        this->avg_consumption_urban = avg_cons_urb;
        this->avg_speed_urban = avg_spd_urb;
        this->max_speed = max_spd;
    }
    //destructor
    ~Autovehicle() {
        delete[]this->car_registration_number;
        number_of_autovehicles--;
    }

};

这是 void main 的地方,问题开始了:

void main() {
    Autovehicle a1( "Engniasd", "gasoline", 1980, 11, 50, 8, 100) {
        cout<<"registration number: "<< this->car_registration_number;
        cout << "engine: " << this->engine;
        cout << "engine cc:" << this->engine_cc;
        cout << "consumption: " << this->avg_consumption;
        cout << "avg speed: " << this->avg_speed;
        cout << "urban consumption: " << this->avg_consumption_urban;
        cout << "urban speed " << this->avg_speed_urban;

    }
}

我遇到的问题是在尝试显示 Autovehicle a1(Engniasd,第一项)时“没有构造函数的实例与参数列表匹配”

最佳答案

尝试将注册号添加到您的汽车和车辆数量:

汽车 a1(“REG12345”,“汽油”,1980、11、50、8、100、50、3)。

关于c++ - 尝试显示时我的第一个类出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33805102/

相关文章:

允许文件附件的 C++ SMTP

c++ - 从文件中读取 N 个字节并将它们附加到 std::vector

c++ - 使用 __declspec 的内存填充问题

python - 如何删除 gridLayout (QT) 内的间距?

c++ - gcc/g++ : "No such file or directory"

c++ - 在执行过程中将 callgrind/valgrind 附加到程序

c++ - HP-UX 中对 FIFO 的轮询立即返回

c++ - vc90 上的 jsoncpp?

c++ - 奇怪的重复模板模式的 UML 图

c++ - 使用结构的二维 vector