Я создаю класс, который наследует другой класс и имеет конструктор, который должен иметь параметр - объект базового класса -
Мой вопрос: что мне делать с этим объектом, как его хранить?чтобы я мог получить доступ к его атрибутам?
Я не должен создавать другие атрибуты / контейнеры, такие как 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;
}