[열혈 C++] 문제 04-3 문제1 풀이Study Code/[Basic] C++2024. 5. 2. 11:17
Table of Contents
앞서 제시한 문제 04-2를 해결하였는가? 당시만 해도 생성자를 설명하지 않은 상황이기 때문에 별도의 초기화 함수를 정의 및 호출해서 Point, Circle, Ring 클래스의 객체를 초기화하였다. 이때 구현한 답에 대해서 모든 클래스에 생성자를 정의해보자. |
[풀이]
#include <iostream>
using namespace std;
class Point
{
private:
int xpos, ypos;
public:
Point(int x, int y) :xpos(x), ypos(y)
{ }
void ShowPointInfo() const
{
cout << "[" << xpos << ", " << ypos << "]" << endl;
}
};
class Circle
{
private:
Point center;
int rad;
public:
Circle(int x, int y, int r) : center(x, y)
{
rad = r;
}
void ShowCircleInfo() const
{
cout << "radius: " << rad << endl;
center.ShowPointInfo();
}
};
class Ring
{
private:
Circle innerCircle;
Circle outerCircle;
public:
Ring(int inX, int inY, int inR, int outX, int outY, int outR)
:innerCircle(inX, inY, inR), outerCircle(outX, outY, outR)
{ }
void ShowRingInfo() const
{
cout << "Inner Circle Info..." << endl;
innerCircle.ShowCircleInfo();
cout << "Outer Circle Info..." << endl;
outerCircle.ShowCircleInfo();
}
};
int main(void)
{
Ring ring(1, 1, 4, 2, 2, 9);
ring.ShowRingInfo();
return 0;
}
728x90
@rlozlr :: 얼렁뚱땅 개발자
얼렁뚱땅 주니어 개발자
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!