【发布时间】:2013-12-06 09:39:52
【问题描述】:
我要设计一个电影院的订票系统,它只有 50 个座位(5 排,每排 10 个座位)
我已经获得了下面的 Cinema 课程,这不应该被修改
class Cinema{
private:
Ticket ticket[50]; // not sure what it is going on
public:
Cinema(); //constructor
double purchaseTicket(int); // ticket ID as parameter, check if it is available, if so update it as unavailable. If not, return 0.
void listAll();
};
这是 Ticket 类
class Ticket{
private:
int ID[50]; //ticket ID (correct to store data in array?)
int price; // ticket price
// have to provide set and get function for ID and price, have no idea even I've googled on this topic
bool available[50]; // availability of ticket
public:
Ticket(); //constructor
bool status(int); // return availability of ticket
void setAvailable(int); //update status of ticket as available
void buy(int); //update status of ticket as unavailable
};
这是模拟购票功能的主要功能(给定)
int main(){
Cinema myCinema;
myCinema.listAll(); // available seats print "O", otherwise print "X"
//simulate to purchse ticket 15, 16, 17
double price = 0;
price += myCinema.purchaseTicket(15);
price += myCinema.purchaseTicket(16);
price += myCinema.purchaseTicket(17);
cout <<"\nTotal Price: $" << price << endl << endl;
//print the current status
myCinema.listAll();
return 0;
}
谁能告诉我如何使用“Ticket ticket[50];” ?这让我很困扰,许多步骤无法完成
如果 Ticket 类有任何问题,请告诉我
【问题讨论】:
-
你是说你不能创建一个对象数组吗?如果是这样,您面临什么问题?
-
你的文字应该解释清楚什么是数组。
-
我认为这是一个关于设计的问题,而不是关于数组的问题。
-
没有具体回答这个问题,但您似乎不确定 ID 应该是什么类型。您可以将您的类声明为模板:
template<class T> class Ticket{ private: T ID[50]; //ticket ID (correct to store data in array?) ... };