생성자 만들기 예제


문제 정보
check포인트 : 1 (부분 점수)
schedule시간 제한 : 10.0s
storage메모리 제한 : 256M
edit_square출제자:
 
답안 제출

아래의 코드가 주어졌다고 가정하자.

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

댓글

현재 작성된 댓글이 없습니다.