gpt4 book ai didi

c++ - 作业。 C++ Book Example 似乎有问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:08:48 24 4
gpt4 key购买 nike

以下代码是我的 C++ 类(class)中的幻灯片的一部分。 IntelliSence 给我错误,我不知道为什么。不知道为什么它不喜欢构造函数和析构函数。有人可以帮忙吗?

class Vehicle {
friend void guest();
private:
string make;
string model;
int year;
public:
void Vehicle();
void Vehicle(string, string, int);
void ~Vehicle();
string getMake();
}

void guest() {
cout << make;
}

1) IntelliSense: member function with the same name as its class must be a constructor
2) IntelliSense: member function with the same name as its class must be a constructor
3) IntelliSense: return type may not be specified on a destructor

最佳答案

构造函数和析构函数没有返回类型!应该是:

Vehicle();
Vehicle(string, string, int);
~Vehicle();

你需要传递一个参数给你的函数:

void guest(const Vehicle &v)
{
cout << v.make; //friend allows you to access 'make' directly
}

当然你必须相应地改变friend声明

不要忘记在类(class)结束时使用 ;

编辑

有效的完整代码:

class Vehicle {
friend void guest(const Vehicle &v);
private:
string make;
string model;
int year;
public:
Vehicle() {}
Vehicle(string make, string model, int year) : make(make), model(model), year(year) {}
~Vehicle() {}
string getMake() const {return make;}
};

void guest(const Vehicle &v) {
cout << v.make;
}



int main()
{
guest(Vehicle("foo", "bar", 10));
return 0;
}

关于c++ - 作业。 C++ Book Example 似乎有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11848801/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com