Рівні успадковування

Похідні класи можуть виступати як базові класи для інших похідних класів. Розглянемо маленьку програму як приклад такого випадку:

class A

{ };

class B:public A

{ };

class c:public B

{ }

Тут клас В є похідним класу А, а клас С – похідним класу В. Процес може розвиватися далі.

Розглянемо конкретніший приклад. Припустімо, що ми хочемо ввести в організації (програма 17.7) посаду бригадира. Відповідний клас називатиметься foreman, базуватиметься на класі laborer і міститиме порівняно з цим класом додаткове поле «процент виконання норми виробітку».

Далі приведений лістінг програми 17.8.

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<bios.h>

const int LEN=80;

////////////

class employce

{private:

char name[LEN];

unsigned long number;

public:

void getdata()

{cout <<”\nВведіть ПІП: “;cin>>name;

cout <<”\nВведіть номер: “;cin>>number;

}

void putdata() const

{cout<<”\nПІП=”<<name;

cout<<”\nНомер=”<<number;

}

};

class manager:public employce

{private:

char title[LEN];

double dues;

public:

void getdata()

{employce::getdata();

cout<<”\nPosada=”;cin>>title;

cout<<”\nVnesky=”;cin>>dues;

}

void putdata() const

{employce::putdata();

cout<<”\nПосада=”<<title;

cout<<”\nВнески=”<<dues;

}

};

//////////

class scientist:public employce

{private:

int puts;

public:

void getdata()

{ employce::getdata();

cout<<”\nПублікації=”;cin>>puts;

}

void putdata() const

{ employce::putdata();

cout<<”\nПублікації=”<<puts;

}

};

////////////

class laborer:public employce

{

};

/////////

class foreman:public laborer

{private:

double quotas;

public:

void getdata()

{laborer::getdata();

cout <<” Норма виробітку=”;cin>>quotas;

}

void putdata() const

{laborer::putdata();

cout <<”\n Норма виробітку =”<<quotas;

}

};

//////////

int main()

{clrscr();

laborer l1;

foreman f1;

//Ввід

cout<<endl;

cout<<”\nРобітник 1”;

l1.getdata();

cout<<”\nБригадир 1”;

f1.getdata();

 

//Вивід

cout<<”\n\nl1”<<endl;

l1.putdata();

cout<<”\n\nf1”<<endl;

f1.putdata();

 

bioskey(0);

return 0;

}

Програми 17.8

 








Дата добавления: 2015-08-26; просмотров: 549;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.