클래스 접근제한자는 오브젝트 레벨이 아닌 클래스 레벨로 작동되기 때문에 생성자 내에서 파라미터로 받는 같은 클래스 변수의 private 또는 protected 멤버 변수에 접근이 가능하다.
#include <iostream>
using namespace std;
class A
{
private:
int mValue = 0;
public:
A() = default;
A(int val) : mValue(val)
{
}
A(const A& a)
{
this->mValue = a.mValue;
}
void Print()
{
cout << mValue << endl;
}
};
int main()
{
A a(6), b(a);
a.Print();
b.Print();
}
'프로그래밍 언어 > C++' 카테고리의 다른 글
C++ struct(구조체), union(공용체) 크기에 대한 정리 (0) | 2022.11.10 |
---|---|
C++ 함수 객체 (Functor) / () 연산자 오버로딩 (0) | 2022.11.08 |
C++ 객체 이동 std::move (0) | 2022.11.03 |
C++ 해시(Hash)의 의미 그리고 구현 (0) | 2022.10.31 |
C++ 변수와 함수에서의 const (0) | 2022.10.28 |