V
vladis222
Здравствуйте! Прошу помощи в лабораторной работе по наследованию, у меня задание вычислить площадь круга, которая образуется при удалении из него вписанного круга. Сделать наследование с помощью класса точка. Я по нашему примеру в методичке написал код, но выдается 11 ошибок. Подскажите, пожалуйста, что в нем не так?
<!--shcode--><pre><code class='sq1'>#include<iostream>
using namespace std;
#include<conio.h>
#include<stdlib.h>
#include<math.h>
const float PI=3.14;
class CPoint
{
protected:
float x,y;
public:
CPoint(float ix,float iy);
~CPoint();
float GetX(); /*Базовый класс-точка*/
float GetY();
int SetX(float);
int SetY(float);
};
class CCircleublic CPoint
{
private:
float cx,cy;
public:
CCircle(float ix,float iy, float icx,float icy);/*Класс-наследник Окружность*/
~CCircle();
float Square();
};
CPoint::CPoint(float ix,float iy)
{
x=ix;
y=iy;
}
float CPoint::GetX()
{
return x;
}
float CPoint::GetY()
{
return y;
}
CPoint::~CPoint(){}
CCircle::CCircle(float ix, float iy, float icx,float icy):CPoint(float ix,float iy)
{
if((pow(x-cx,2)+pow(y-cy,2))<0)
{
cout<<"Радиус не должен быть отрицательным";
exit(-1);
}
cx=icx;
cy=icy;
}
float CCircle::Square()
{
float S;S=PI*((pow(x-cx,2)+pow(y-cy,2));
return S;
}
int main()
{
float x,y,cx,cy,dif;
CCircle C1;
CCircle C2;
cout<<"Введите координаты точки окружности : ";
cin>>x>>y;
cout<<"Введите координаты центра окружности : ";
cin>>cx>>cy;
C1.Square();
C2.Square();
dif=C2.Square()-C1.Square();
cout<<"Искомая площадь равна\n";
cout<<dif;
getch();
}[/CODE]
<!--shcode--><pre><code class='sq1'>#include<iostream>
using namespace std;
#include<conio.h>
#include<stdlib.h>
#include<math.h>
const float PI=3.14;
class CPoint
{
protected:
float x,y;
public:
CPoint(float ix,float iy);
~CPoint();
float GetX(); /*Базовый класс-точка*/
float GetY();
int SetX(float);
int SetY(float);
};
class CCircleublic CPoint
{
private:
float cx,cy;
public:
CCircle(float ix,float iy, float icx,float icy);/*Класс-наследник Окружность*/
~CCircle();
float Square();
};
CPoint::CPoint(float ix,float iy)
{
x=ix;
y=iy;
}
float CPoint::GetX()
{
return x;
}
float CPoint::GetY()
{
return y;
}
CPoint::~CPoint(){}
CCircle::CCircle(float ix, float iy, float icx,float icy):CPoint(float ix,float iy)
{
if((pow(x-cx,2)+pow(y-cy,2))<0)
{
cout<<"Радиус не должен быть отрицательным";
exit(-1);
}
cx=icx;
cy=icy;
}
float CCircle::Square()
{
float S;S=PI*((pow(x-cx,2)+pow(y-cy,2));
return S;
}
int main()
{
float x,y,cx,cy,dif;
CCircle C1;
CCircle C2;
cout<<"Введите координаты точки окружности : ";
cin>>x>>y;
cout<<"Введите координаты центра окружности : ";
cin>>cx>>cy;
C1.Square();
C2.Square();
dif=C2.Square()-C1.Square();
cout<<"Искомая площадь равна\n";
cout<<dif;
getch();
}[/CODE]