Конструктори при множинному успадковуванні

Попередня програма не має конструкторів. Розглянемо приклад, що показує, як працюють конструктори при множинному успадковуванні. Далі приведена програма 17.10 використовує базові типи Type та Distance і похідний від обох цих класів тип Lumber.

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<bios.h>

#include<string.h>

class Type

{private:

char *dimensions;

char *grade;

public:

Type():dimensions(“N/A”),grade(“N/A”)

{ }

Type(char *d1,char *d2):dimensions(d1),grade(d2)

{ }

void gettype()

{cout<<”Розмір:”;cin>>dimensions;

cout<<”Сорт:”;cin>>grade;

}

void showtype()

{

cout<<”Розмір:”<<dimensions<<endl;

cout<<”Сорт:”<<grade<<endl;

}

};

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

class Distance

{private:

int feet;

float inches;

public:

Distance():feet(0),inches(0.0)

{}

Distance(int ft,float in):feet(ft),inches(in)

{}

void getdist()

{cout<<”Фути:”;cin>>feet;

cout<<” дюйми:”;cin>>inches;

}

void showdist() const

{

cout<<feet<<”\-“<<inches<<’\”’;

}

};

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

class Lumber:public Type,public Distance

{private:

int quantity;

double price;

public:

Lumber():Type(),Distance(),quantity(0),price(0.0)

{}

Lumber (char *dt, char *gr,

int ft, float in,

int qu,float prc):Type(dt,gr),Distance(ft,in),quantity(qu),price(prc)

{ }

 

void getlumber()

{Type::gettype();

Distance::getdist();

cout<<”Введіть кількість:”;cin>>quantity;

cout<<”Введіть ціну:”;cin>>price;

}

 

void showlumber()const

{

Type::showtype();

cout<<”\n Dovjyna:”;

Distance::showdist();

cout<<”\n Вартість ”<<quantity<<” штук:”<<(price*quantity);

}

};

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

int main()

{clrscr();

Lumber studs;

cout<<”\n Інформація\n”;

studs.getlumber();

Lumber studs1(“2x4”,”const”,8,1.0,200,14);

cout<<”\n1=”;studs.showlumber();

cout<<”\n2=”;studs1.showlumber();

 

bioskey(0);

return 0;

}

Програма 17.10

 

Головною особливістю цієї програми є використання конструкторів похідного класу Lumber. Вони викликають підходящі конструктори класів Type і Distance.

 








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


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

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

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

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