Автор работы: Пользователь скрыл имя, 13 Мая 2013 в 17:39, лабораторная работа
Листинг программы:
#include<iostream>
#include<string>
using namespace std;
class friend2
Лабораторная работа № 22
Использование наследования для создания иерархии классов
(2 часа)
Цель работы: получить навыки в использовании наследования для создания производных классов при простом наследовании.
22 |
Манипуляторы для ввода информации |
Листинг программы:
#include<iostream>
#include<string>
using namespace std;
class friend2;
class Manip
{
protected:
string name;
int nomer;
public:
Manip(string name="", int nomer=0)
{
Manip::name=name;
Manip::nomer=nomer;
}
~Manip(){}
void nazvanie()
{
cout<<name<<" вводят информацию. В нашем хит-параде он на "<<nomer<<" месте:)"<<endl;
}
};
class friend1
{
private:
int data;
public:
friend1():data(7){}
friend int frifunc(friend1, friend2);
};
class friend2
{
private:
int data;
public:
friend2(int data=13)
{
friend2::data=data;
}
friend int frifunc(friend1,friend2);
};
int frifunc(friend1 a, friend2 b)
{
return(a.data+b.data);
}
class Mouse:public Manip
{
protected:
int Infa;
public:
Mouse(string name="",int nomer=0, int Infa=0)
{
Mouse::name=name;
Mouse::nomer=nomer;
Mouse::Infa=Infa;
~Mouse(){}
void Mous()
{
cout<<"Количество информации составляет"<<Infa<<"байт "<< endl;
}
};
class Keypad:public Mouse
{
public:
Keypad(string name="", int nomer=0, int Infa=0)
{
Keypad::name=name;
Keypad::nomer=nomer;
Keypad::Infa=Infa;
}
~Keypad(){}
void Key()
{
cout<<"I LOVE KEYPAD"<<endl;
}
};
class Joystic:public Keypad
{
protected:
int arm;
public:
Joystic(string name="", int nomer=0,
int Pribil=0, int arm=0)
{
Joystic::name=name;
Joystic::nomer=nomer;
Joystic::Infa=Infa;
Joystic::arm=arm;
}
~Joystic(){}
void Joys()
{
cout<<" Рука по шкале 1-5 равна:"<<arm<<endl;
}
};
int main()
{
setlocale(LC_ALL,"");
friend1 aa;
friend2 bb;
cout<<" Результат
работы дружественной функции равен :"<<frifunc(aa,bb)<<endl<<
Mouse Mous(" Мышка",1,64);
Mous.nazvanie();
Mous.Mous();
Keypad Key(" Клавиатура", 2, 32);
Key.nazvanie();
Key.Key();
Joystic Joys(" Джойстик", 3, 16, 5);
Joys.nazvanie();
Joys.Joys();
}
Результат работы программы:
Вывод: Я научилась реализовывать наследственность в классах и поняла для чего нужны дружественные функции.
Информация о работе Использование наследования для создания иерархии классов