close

Вход

Забыли?

вход по аккаунту

?

Laba 8

код для вставкиСкачать
Міністерство освіти науки, молоді та спорту України
Вінницький національний технічний університет
Інститут автоматики, електроніки та комп'ютерних систем управління
Кафедра КСУ Лабораторна робота №8
з дисципліни Комп'ютерні технології та програмування
Тема: Особливості створення ієрархії класів з множинним спадкуванням.
Виконав ст. гр. 1АВ-12б Гришин Д.І. Прийняв:Москвіна С.М.
Вінниця 2012
Лабораторна робота №8
Тема: Особливості створення ієрархії класів з множинним спадкуванням.Мета: Набуття навичок студентами в використанні множинного спадкування.
Порядок виконання роботи
1. Ознайомитись з теоретичною частиною даної теми.
2. Розробити ієрархію класів та структуру кожного класу відповідно Завдання 1.
3. Розробити програму для виконання Завдання 1.
4. Розробити 2-3 тести для перевірки правильності роботи розробленої програми.
5. Оформити звіт до лабораторної роботи.
Хід роботи:
Завдання. Лістинг:
#include <iostream>
using namespace std;
class B1{//áàçîâèé êëàñ B1
public://â³äêðèòèé ñòàòóñ äîñòóïó
B1(int val):x(val)// êîíñòðóêòîð {
cout<<"B1 constructor called"<<endl;
}
~B1(){ };
virtual void show(){cout<<"x in B1 is "<<x<<endl;}
private:
int x;
};
class B2{
public: B2(int val):x(val)
{
cout<<"B2 constructor called"<<endl;
}
~B2() { };
virtual void show(){cout << "x in B2 is " << x << endl;} private: int x;
};
class B3{
public: B3(int val):x(val)
{
cout<<"B3 constructor called"<<endl;
}
~B3() { };
virtual void show(){cout << "x in B3 is " << x << endl;} private: int x;
};
class D1 : public B1, public B2,protected B3{
public:
D1(int val): B1(val), B2(val), B3(val), x(val) {
cout << "D1 constructor called" << endl;
}
~D1(){ };
virtual void show()
{
cout << "x in D1 is " << x << endl;
B1::show();
B2::show();
B3::show();
}
private:
int x;
};
class D3 : public B3{
public:
D3(int val):B3(val),x(val) {
cout << "D3 constructor called" << endl;
}
~D3() { };
virtual void show()
{
cout << "x in D3 is " << x << endl;
B3::show();
}
private:
int x;
};
class D2 : public D1,private D3{
public:
D2(int val):D1(val),D3(val),x(val) {
cout << "D2 constructor called" << endl;
}
~D2() { };
virtual void show()
{
cout << "x in D2 is " << x << endl;
D1::show();
D3::show();
}
private:
int x;
};
class D4 : protected D3{
public:
D4(int val):D3(val),x(val) {
cout << "D4 constructor called" << endl;
}
~D4() { };
virtual void show()
{
cout << "x in D4 is " << x << endl;
D3::show();
}
private:
int x;
};
int main(){
int x = 10;
cout<<"Creating D2..."<<endl;
D2 d2(x); cout<<"\nShow x..."<<endl;
d2.show();
x = 5;
cout<<"\n\nCreating D3..."<<endl;
D3 d3(x);
cout<<"\nShow x..."<<endl;
d3.show();
cin.get();
return 0;
}
Тест:
Рисунок 1- Виконання програми
Висновок: виконавши дану лабораторну роботу ми отримали навички розробки програм з використанням множинного спадкування.
Документ
Категория
Рефераты
Просмотров
16
Размер файла
135 Кб
Теги
laba
1/--страниц
Пожаловаться на содержимое документа