#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;

}

};

멤버변수 참조가 안댐