【发布时间】:2016-07-21 03:49:45
【问题描述】:
我编写了一个航空公司预订系统,它运行一个链表list<Passenger> flight list。
我认为我编写的函数应该可以工作,但我无法测试它们,因为我无法正确设置乘客舱。
(database.h)
class Passenger
{
public:
Passenger(string, string, string);
~Passenger();
Passenger operator==(const Passenger&) const;
Passenger operator<(const Passenger&) const;
void read_from_file(list<Passenger>&, string);
void insert(list<Passenger>&, string, string, string);
void remove(list<Passenger>&, string, string, string);
bool check_reservation(list<Passenger>&, string, string);
void display_list(list<Passenger>&);
void save_to_file(list<Passenger>&, string, string, string);
private:
string fname;
string lname;
string destination;
};
(database.cc)
Passenger::Passenger(string first, string last, string dest)
{
fname = first;
lname = last;
destination = dest;
}
Passenger::~Passenger()
{
}
Passenger Passenger::operator==(const Passenger&)
{
}
Passenger Passenger::operator<(const Passenger&)
{
}
运算符应该被重载,以便比较名字和姓氏,以便列表按姓氏按字典顺序排序。
任何正确方向的点都会很有帮助。
谢谢!
【问题讨论】:
-
字典排序并不少见,你为什么不直接在网上搜索几个例子呢?也就是说,您的函数签名(运算符也是 C++ 中的函数)不合适。
标签: c++ constructor linked-list operator-overloading