当我不应该为继承的类提供容器时,如何存储该类的对象

时间:2019-04-18 14:03:51

标签: c++ oop

我正在创建一个继承另一个类并具有构造函数的类,该构造函数必须具有一个参数-基类的对象-

我的问题是如何处理该对象,如何存储它以便可以访问其属性?

我不应该创建其他属性/容器,例如list<Baseclass> name

class TelephoneSub // Base class
{
private:
    string ts_name;
    string ts_country_code;
    double ts_tariff_plan;
    int ts_minutes_call; 
public:
TelephoneSub(const TelephoneSub &p) 
    {
        this->ts_name = p.ts_name;
        this->ts_country_code = p.ts_country_code;
        this->ts_tariff_plan = p.ts_tariff_plan;
        this->ts_minutes_call = p.ts_minutes_call;
    }

派生类

class TelephoneSubData : public TelephoneSub
{
private:
    string tsd_phone_number;
    vector<TelephoneSubData>tsd_contacts;
    list<TelephoneSubData>tsd_called_numbers;
public:
    // 2.1
    TelephoneSubData() {}
    // 2.2
    TelephoneSubData(const string number,const TelephoneSub &sub)
    {
        this->tsd_phone_number = number;
        TelephoneSub::TelephoneSub(sub);
    }

double average_sum()const
    {
        double sum = 0;
        int i = 0;
        for (auto x : tsd_called_numbers)
        {
            i++;
            sum += x.get_ts_tariff_plan();
        }
        return sum / i;
    }

0 个答案:

没有答案