0
我有一个头文件中的两个类,第二个类依赖于第一个类。 将此头文件包含在一个.cpp文件中,我在其中实现了Flight类的构造函数原型。编译给我下面的错误:C++一个对象(创建)在另一个类中的数组
Error: no matching function for call to ‘Passenger::Passenger()’
Flight::Flight(int maxPassenger, int flightNo) {
这里是我的头文件
/*
*Passenger Class:
*/
class Passenger
{
public:
int flightNo;
string lastName;
string firstName;
int seatNo;
public:
Passenger(int flightNo, string lastName,string firstName, int seatNo);
};
/*
*Flight Class:
*/
class Flight {
public:
int maxPassenger;
int currentPos;
int flightNo;
Passenger list[20];
public:
Flight (int maxPassenger, int flightNo);
}
两个阶级,这里的构造函数实现:
Flight::Flight(int maxPassenger, int flightNo) {
maxPassenger = maxPassenger;
// list = new Passenger [maxPassenger];
flightNo = flightNo;
}
我能理解有冲突在构造函数中。但我无法弄清楚究竟出了什么问题。任何帮助将非常感激。
将添加一个名称没有值的构造函数会影响列表吗? 我正在尝试制作一个乘客对象列表,即它也会包含乘客姓名,seatNo和FlightNo。这样我就可以 cout << list [2] .lastName 有什么额外的事情我需要做? – Mish
不,它不会影响列表,但乘客对象不会有任何有效的seatNo,FlightNo等值,这取决于你以后正确初始化它们.. – bluefalcon