Множественное наследование
Если у производного класса имеется несколько базовых классов, то говорят о множественном наследовании. Множественное наследование позволяет сочетать в одном производном классе свойства и поведение нескольких классов.
Синтаксис
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;
}
|