다음 main 함수에서 객체 생성을 위해 필요한 모든 생성자를 포함하도록 Point 클래스를 작성하시오
int main()
{
Point pt1;
Point pt2(1);
Point pt3(2, 3);
Point pt4(pt3); //<--복사 생성자를 통해 구현 해 보는 것을 추천
Point pt5(2, pt3); //p3의 좌표값 곱하기 2
pt1.print_coords();
pt2.print_coords();
pt3.print_coords();
pt4.print_coords();
pt5.print_coords();
}
Point 클래스의 멤버 변수는 다음과 같다.
1. x축 정보 (int)
2. y축 정보 (int)
Point 클래스의 멤버 함수는 다음과 같다.
1. 점의 위치 초기화를 위한 생성자들
2. 점의 위치 출력 (print_coords())
Input & Output
입력은 없으며 출력은 아래와 같다.
[0, 0]
[1, 1]
[2, 3]
[2, 3]
[4, 6]
이게 문제인데 생성자 오버로딩 하려고 코드를 짰는데
point::point를 class 본문에 안넣으면 빨간줄 그어지고 본문에 넣으면 오류뜨면서 실행이 안되는데
어떻게 고쳐야될지 모르겠습니다
#include <iostream>
class Point
{
private:
int x , y;
int a, b;
public:
Point() {};
Point(int a) {};
Point(int a, int b) {};
Point(const Point& copy) {};
Point(int a, const Point& copy) {};
void print_coords()
{
std::cout<< "[" << x << ", " << y << "]" << std::endl;
}
};
Point::Point()
: x{ 0 }, y{ 0 }
{
}
Point::Point(int a)
: x{ a }, y{ a }
{
}
Point::Point(int a, int b)
: x{ a }, y{ b }
{
}
Point::Point(const Point& copy)
{
}
Point::Point(int a, const Point& copy)
{
x = a * x;
y = a * y;
}
int main()
{
Point pt1;
Point pt2(1);
Point pt3(2, 3);
Point pt4(pt3); //<--복사 생성자를 통해 구현 해 보는 것을 추천
Point pt5(2, pt3); //p3의 좌표값 곱하기 2
pt1.print_coords();
pt2.print_coords();
pt3.print_coords();
pt4.print_coords();
pt5.print_coords();
}
조교님 이새끼에요!
으아악
선물주면 진짜로 알려줌 보자마자 틀린거발견했다
이미 해결했어 고마워