생성자 선언 없음: 자동 생성
class Point {
public:
int x;
int y;
};
Point pt; // OK
결과:
Point()가 자동으로 생깁니다. 단, 기본 타입 멤버는 의미 있는 값으로 채워지지 않을 수 있습니다.컴파일러는 생성자가 하나도 없을 때만 매개변수 없는 기본 생성자를 자동으로 만들어 줍니다.
class Point {
public:
int x;
int y;
};
Point pt; // OK
Point()가 자동으로 생깁니다. 단, 기본 타입 멤버는 의미 있는 값으로 채워지지 않을 수 있습니다.class Book {
public:
Book(std::string title);
};
Book book; // ERROR
Book()을 직접 정의하거나 = default를 명시합니다.= default나 = delete로 정책을 명시합니다.