求帮忙!!,求解决!!:类成员变量为指针时的构造函数问题
class Passager //乘客,每个乘客可以订几张票,而每张票都有一个座位号
{
public:
Passager();
Passager(int t_num,int *s_num);
Passager(Passager &P);
~Passager();
private:
int ticket_num; //订票额
int *seat_num; //座位号,每张票都有一张座位号,我想让这个指针具有seat_num[ticket_num]的功能,就是这个数组的大小为ticket_num
};
//我知道不能这样定义:int seat_num[ticket_num], 但也没法定义成:int *seat_num=new int[ticket_num];
//请问该怎么办????又怎么设计这个构造函数,或者成员变量????卡死在这里了
int ticket_num; //订票额
std::vector<int>seat_num;
Passager::Passager() {
ticket_num = 0;
seat_num = NULL;
}
Passager::Passager(int t_num) {
ticket_num = t_num;
seat_num = new int[thicket_num];
}
Passager::Passager(Passager &P) {
ticket_num = P.ticket_num;
seat_num = new int[thicket_num];
memcpy(seat_num, P.seat_num, ticket_num * sizeof(int));
}
Passager::~Passager() {
if ( seat_num != NULL )
delete [] seat_num;
}