반응형
밑에 코드를 보면 원래 temp.num은 private이라 바로 접근해서 값을 바꿀 수 없다
근데 저 코드를 컴파일해보면 오류가 안 난다!!
왜일까!??
class Sum {
private:
int num;
public:
void sum {
// num이 private이지만 자신의 클래스와 동일한 멤버 함수에서는 num에 접근 가능!!
Sum temp;
temp.num = 3;
}
}
멤버 함수 안에서 자신과 동일한 클래스 객체를 생성했을 때,
그 클래스 객체는 자기 클래스의 멤버 함수에 있는 것처럼 자신의 private 멤버에 자유롭게 접근이 가능하다!
너무 신기함!! 🤭🤭
728x90
'개발 언어 > cpp' 카테고리의 다른 글
cpp 멤버 이니셜라이저(Member Initializer) (0) | 2022.01.03 |
---|---|
cpp static const 변수 (0) | 2022.01.03 |
cpp 증감 연산자 오버로딩 (전위 연산자, 후위 연산자) (0) | 2021.12.30 |
CPP 클래스 상속(Inheritance) (0) | 2021.12.22 |
cpp 연산자 오버로딩(Operator Overloading) (0) | 2021.12.21 |
댓글