#include <iostream>
//문제 4-2
using namespace std;
class Point{
private:
int xpos, ypos;
public:
Point(){}
Point(int x,int y) : xpos(x), ypos(y){}
void ShowPointInfo() const
{
cout<<"["<<xpos<<", "<<ypos<<"]"<<endl;
}
};
class Circle : public Point {
private:
Point pos;
int radius;
public:
Circle() {}
Circle( Point *pos_, int radius_ ) : pos(*pos_), radius(radius_){}
Circle( int x, int y, int radius_ ) : radius(radius_)
{
Point * p1 = new Point;
p1->xpos =x;
p1->ypos =y;
pos = *p1;
delete p1;
}
void ShowCircle() const
{
cout<<"Circle Info..."<<endl;
cout<<"radius: "<<radius<<endl;
pos.ShowPointInfo();
}
};
class Ring : public Circle {
private:
Circle Inner;
Circle Outter;
public:
void Init(int x1, int y1, int r1, int x2, int y2, int r2){
if( (x1*x1 + y1*y1) < (x2*x2 + y2*y2) ){
Inner.pos.xpos =x1;
Inner.pos.ypos =y1;
Inner.radius = r1;
Outter.pos.xpos = x2;
Outter.pos.ypos = y2;
Outter.radius = r2;
}
else{
Inner.pos.xpos =x2;
Inner.pos.ypos =y2;
Inner.radius = r2;
Outter.pos.xpos = x1;
Outter.pos.ypos = y1;
Outter.radius = r1;
}
댓글 0