class Vector {
public:
Vector() {
mX = 0; // Object가 만들어 진 후에
mY = 0;
}
private:
int mX;
int mY;
};
class Vector {
public:
Vector() : mX(0), mY(0) // Object가 만들어 지는 시점에
{
}
private:
int mX;
int mY;
};
클래스에 생성자가 없으면 컴파일러가 기본 생성자를 자동적으로 만들어 줌.
객체가 객체를 가지고 있을 때???
소멸자로 class에서 할당한 메모리 잘 소멸 시키자.
변수가 바뀌면 안될 경우 const로 무조건 사용
const int LINE_SIZE = 20;
멤버 변수가 변하는 것을 방지
비 멤버 함수는 const 사용 못함
int GetX() const;
기본적으로는 모든 멤버 함수를 Const로 만드는 것이 좋으며 멤버 변수를 수정할 때만 Const를 제거 하는 것이 좋다.
const Vector& Func(Vector& rhs) {
return rhs
}
void Func(const Vector& rhs);
...
Vector vec;
Func(vec);
그러나 const 참조 변수를 일반 참조 변수로 반환 하거나 받을 수는 없다.
void Func(int& data) { // error
std::cout << data << std::endl;
}
int main() {
const int data = 10;
Func(data);
return 0;
}