求帮忙!求解决!类成员变量为指针时的构造函数有关问题

求帮忙!!,求解决!!:类成员变量为指针时的构造函数问题
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];
//请问该怎么办????又怎么设计这个构造函数,或者成员变量????卡死在这里了

------解决方案--------------------
用std::vector
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;
}