Програмата, която писахме в часа:
#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;
}

