Програмата, която писахме в часа:
#include <iostream> #include <windows.h> using namespace std; const float pi=3.14; // Точка (координати X, Y) class tochka { public: float x, y; void vhod(); void pechat() const; }; void tochka::vhod() { cout<<"Vavedete x i y:"; cin>>x>>y; } void tochka::pechat() const { cout<<"Tochka ("<<x<<","<<y<<")\n"; } // Окръжност (радиус, обиколка) class okraznost: public tochka { public: float r; float obikolka() const; void vhod(); void pechat() const; }; void okraznost::vhod() { tochka::vhod(); cout<<"vavedete radius:"; cin>>r; } void okraznost::pechat() const { cout<<"Okraznost s centar\n"; tochka::pechat(); cout<<"i radius "<<r<<endl; } float okraznost::obikolka() const { return 2*pi*r; } // Кръг (лице) class krug: public okraznost { float lice() const; }; float krug::lice() const { return pi*r*r; } // Пръстен (радиус на отвора, лице на пръстена) class prasten: public krug { public: float ro; float lice() const; void vhod(); void pechat() const; }; float prasten::lice() const { return pi*r*r - pi*ro*ro; } void prasten::vhod() { okraznost::vhod(); cout<<"Vavedete radius na otvora:"; cin>>ro; } void prasten::pechat() const { cout<<"Parsten s centar\n"; tochka::pechat(); cout<<"i radiusi "<<r<<" i "<<ro<<endl; } int main(int argc, char *argv[]) { // демонстрация на класа okraznost okraznost b; b.vhod(); b.pechat(); cout<<endl; // присвояване на клас-наследник към родителски tochka a=b; a.pechat(); cout<<endl; // демонстрация на класа krug krug c; c.vhod(); c.pechat(); cout<<endl; // демонстрация на класа pechat prasten d; d.vhod(); d.pechat(); cout<<endl; system("pause"); return 0; }