생성자 만들기 예제
아래의 코드가 주어졌다고 가정하자.
#include <iostream>
using namespace std;
class Point
{
private:
int x;
int y;
public:
Point(const int& xpos, const int& ypos)
{
x = xpos;
y = ypos;
}
int GetX() const
{
return x;
}
int GetY() const
{
return y;
}
bool SetX(int xpos)
{
if (0 > xpos || xpos > 100)
{
cout << "벗어난 범위의 값 전달" << endl;
return false;
}
x = xpos;
return true;
}
bool SetY(int ypos)
{
if (0 > ypos || ypos > 100)
{
cout << "벗어난 범위의 값 전달" << endl;
return false;
}
y = ypos;
return true;
}
};
class Rectangle
{
private:
Point upLeft;
Point lowRight;
public:
Rectangle(const int& x1, const int& y1, const int& x2, const int& y2)
:upLeft(x1, y1), lowRight(x2, y2)
{
}
void ShowRecInfo()
{
cout << "좌 상단: " << '[' << upLeft.GetX() << ", ";
cout << upLeft.GetY() << ']' << endl;
cout << "우 하단: " << '[' << lowRight.GetX() << ", ";
cout << lowRight.GetY() << ']' << endl;
}
};
int main() {
Point pos1(1, 4);
Point pos2(5, 9);
Rectangle rec(1, 4, 5, 9);
rec.ShowRecInfo();
Rectangle rec2(pos1, pos2);
rec2.ShowRecInfo();
return 0;
}
이 때, 다음의 결과가 출력되도록 생성자를 만들어라.
출력
좌 상단: [1, 4]
우 하단: [5, 9]
좌 상단: [1, 4]
우 하단: [5, 9]