Использование наследования для создания иерархии классов

Автор работы: Пользователь скрыл имя, 13 Мая 2013 в 17:39, лабораторная работа

Краткое описание

Листинг программы:
#include<iostream>
#include<string>
using namespace std;
class friend2

Прикрепленные файлы: 1 файл

Лабораторная работа.docx

— 48.23 Кб (Скачать документ)

Лабораторная работа № 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<<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();

                                                         

                                                                                   system("PAUSE");

                                                                          return 0;

  } 

 

 

 

 

Результат работы программы:

Вывод: Я научилась  реализовывать наследственность в  классах и поняла для чего нужны дружественные функции.


Информация о работе Использование наследования для создания иерархии классов