Всего на сайте:
236 тыс. 713 статей

Главная | Механика

R.Display();  Просмотрен 179

Конструктори можуть мати довільні параметри. Нехай нам потрібен клас, який зберігає, крім назви області, ще й кількість населення. Можна вивести його з Region:

class Population:public TRegion

{private:

Long population;

public:

Population(long n,const char*name);

void Display(void);};

Population::Population(long n,const char*name)

{population=n;

Region(name);};

void Population::Display(void)

{Region::Display();

cout<<"Population::"<<population<<'\n';};

Далі використовувати його можна так:

Population Kyiv(3500000,"Kyiv");

Kyiv.Display();

7.9.5. Похідні класи й покажчики

 

Якщо похідний клас derived має відкритий базовий клас base, то покажчик на derived можна присвоювати змінній типу покажчик на Base без використання явного перетворення типу. Обернене перетворення покажчика на base у покажчик на derived має бути явним. Наприклад:

class base {

//...

};

class derived:public base

{

//...

};

Derived m;

base*pb=& m; //неявне перетворення

derived*pd;

pd=(derived*)pb; //явне перетворення

Іншими словами, об'єкт похідного класу при роботі з ним через покажчик можна розглядати як об’єкт базового класу. Обернене невірно.

Якщо base є закритим базовим класом для derived, то неявне перетворення derived* на base* не виконується:

Предыдущая статья:Region.Display(); Следующая статья:Int main(void). {C c; с.A::func(); с.B::func(); с.data=10; return 0;} Можна описа..
page speed (0.0399 sec, direct)