Множественное наследование

Если у производного класса имеется несколько базовых классов, то говорят о множественном наследовании. Множественное наследование позволяет сочетать в одном производном классе свойства и поведение нескольких классов.

Синтаксис

class имя произв. класса: cg имя_базового класса1;

 cg имя_базового класса2;

 cg имя_базового класса№

{тело класса:}

Пример множественного наследования (Решение задачи можно посмотреть, скачав файл "Задача-22"):

#include<iostream.h>
#include<string.h>
#include<stdio.h>
class coord
{ int x, y;
 public:
  coord (int x1, int y1) {x=x1; y=y1;}
  int getx() {return x;}
  int gety() {return y;}
  void setx (int x1) {x=x1;}
  void sety (int y1) {y=y1;}
};

class savestr
{ char str[80];
 public:
  savestr (char *str1) {setstr(str1);}
  void setstr (char *str1)
       {strcpy(str,str1);}
  void showstr() {puts(str);}
};

class printstr: public coord,
        public savestr
{ public:
   printstr (int x1, int y1, char *gtr):coord (x1, y1), savestr (gtr) {}
   void show();
};

 void printstr:: show()
  {cout<<"x="<<getx()<<" y="<<gety()<<endl;
   cout<<"str=";showstr();
  }

main()
{
  printstr ptr(10, 5, "Nasledovanie");
  ptr.show();
  ptr.setx(25);
  ptr.sety(7);
  ptr.setstr("Mnoschestvo");
  ptr.show();
  return 0;
}

 

Среда, 08.05.2024, 19:37
Приветствую Вас Гость