/* Point 클래스를 상속받아서 ThreeDPoint 클래스를 정의해보자. ThreeDPoint 클래스는 3차원 공간 상의 점을 나타내고 int z; 멤버 변수를 추가로 가진다. 1) 아래와 같은 객체 생성이 가능하도록 생성자를 정의하고, ThreeDPoint p1(10,10,10); ThreeDPoint p2; (이 때, x,y,z는 모두 20으로 초기화된다.) 2) operator plus overaloding (x,y,z를 각 요소끼리 더한다.)를 구현하시오. ThreeDPoint p3 = p1 + p2; 3) 클래스 ThreeDPoint는 메소드 getX, getY, getZ 를 제공해야 한다. 각각 x,y,z 값을 반환한다. 이 외의 코드를 수정하여 점수를 취득하는 경우, 부정행위가 됩니다. */ #include <iostream> using namespace std; class Point { private: int x, y; protected: void setX(int _x) { x = _x; } void setY(int _y) { y = _y; } int getX() { return x; } int getY() { return y; } }; class ThreeDPoint : public Point { private: int z; public: // --------------- 아래부터 수정 가능 ------------------------------ // ------------- 이하 수정 금지 ---------------------------------------- }; int main() { int x, y, z; cin >> x >> y >> z; ThreeDPoint p1(x,y,z); ThreeDPoint p2; cout << p1.getX() << p1.getY() << p1.getZ() << endl; cout << p2.getX() << p2.getY() << p2.getZ() << endl; ThreeDPoint p3 = p1 + p2; cout << p3.getX() << p3.getY() << p3.getZ() << endl; return 0; }