如何用它的成员编写一个类是一个指向自己定义的类的指针的向量

时间:2016-10-05 20:17:01

标签: c++ class pointers copy-constructor rule-of-three

我是C ++的新手,我试图编写一个CarRental类,其中包含一个指向基类Car的指针向量。 这是Car类。

class Car{
public:
    Car():mPlate(""), mBrand(""){}//constructor
    Car(string p, string b): mPlate(p), mBrand(b){} //constructor
    virtual ~Car(){}//destructor

    const string plate() const;
    const string brand() const;

    virtual int numPassengers() = 0;

protected:
    string mPlate;
    string mBrand;
};

const string Car::plate() const{
    return mPlate;
}

const string Car::brand() const{
    return mBrand;
};

我需要写一个CarRental类,其中包含存放汽车的容器。例如,

class CarRental{
public:
    CarRental(vector<Car*> cars){mCars = cars;};
    const vector<Car*>& getCars() const;
    void addCar(Car*);
private:
    vector<Car*> mCars;
};

const vector<Car*>& CarRental::getCars() const{
    return mCars;
}

void CarRental::addCar(Car* c){
    mCars.push_back(c);
}

我怀疑CarRental的课程是否以正确的方式写作。我正在考虑是否需要编写自己的复制构造函数。在THE BIG THREE中,我是否还需要赋值运算符和析构函数?三会是内存泄漏吗?异常安全怎么样?

0 个答案:

没有答案