반응형
- 대입 연산자
- 객체의 멤버를 모두 복사해주는 연산자
- 생성하지 않을경우 컴파일러가 자동으로 제공하는 멤버들
- 기본 생성자
- 소멸자
- 복사 생성자(Shallow Copy)
- 대입 연산자
- move 생성자
- move 대입 연산자
class Point
{
int x, y;
public:
Point(int a = 0, int b = 0) : x(a), y(b) {}
void print() const
{
std::cout << x << ", " << y << std::endl;
}
Point& operator=(const Point& p)
{
x = p.x;
y = p.y;
return *this;
}
};
int main()
{
Point p1(1, 1);
Point p2(2, 2);
Point p3;
p3 = (p1 = p2);
(p3 = p1) = p2; // 대입 연산자가 참조 리턴을 하지 않으면 p3에 p2가 대입되지 않음
p3.print();
}
반응형
'프로그래밍 언어 > C++' 카테고리의 다른 글
C++ STL(Standard Template Library) (0) | 2019.05.11 |
---|---|
C++ 연산자 재정의 활용(String 클래스 만들기) (0) | 2019.05.11 |
C++ 스마트 포인터(Smart Pointer) (0) | 2019.05.10 |
C++ 증감 연산자(++, --) (0) | 2019.05.10 |
C++ 함수 객체(Function Object) (0) | 2019.05.10 |