ТА_Методички / Lec_12
.pdf
Приклад 3.
Наступний приклад показує використання множинного спадкування для випадку, коли дані вводяться у похідному класі, а для роботи з ними використовуються функції, описані у базових класах.
#include <iostream.h> #include <conio.h> #include<math.h> class bas1
{
protected: int a; public:
void zna_qu()
{
const int c = 100; int s;
s=0;
cout << "s=" << s << "\n"; while(s<c)
{
s+=a*a;
cout << "s=" << s << "\n";
31/35
}
s-=a*a;
cout << "Znah. sumy <= 100: " << s << "\n";
}
};
class bas2
{
protected: int a; public: void dil()
{
const int tr=3; int za;
za=a;
cout << "za=" << za << "\n"; while(za>tr)
{
za-=tr;
cout << "za=" << za << "\n";
}
cout << "Zalyshok vid dilennya na "<< tr << " rivnyj " << za << "\n";
}
32/35
};
class pohid:public bas1,public bas2
{
public:
void vvid(int A)
{
bas1::a=bas2::a=A;
//bas1::b=bas2::b=B;
}
}klac;
int main()
{
clrscr(); int a;
cout<<"Enter a: "; cin>>a; klac.vvid(a); klac.zna_qu(); klac.dil(); getch();
33/35
return 0;
}
Результат
Enter a: 77 s=0 s=5929
Znah. sumy <= 100: 0 za=77
za=74
za=71
za=68
za=65
za=62
za=59
za=56
za=53
za=50
za=47
za=44
za=41
za=38
za=35
34/35
za=32
za=29
za=26
za=23
za=20
za=17
za=14
za=11
za=8
za=5
za=2
Zalyshok vid dilennya na 3 rivnyj 2
35/35
