private:
int a;
private:
Test(int b){ a=b; }
이렇게 주는거랑
Test(int b):a(b){}
이렇게 주는거랑 완전히똑같은거야? const 값이 아니면?
그리고 멤버값줄때
private:
int a = 3;
같은식으로 값을미리줘버리면 어떻게되? 이게 디폴트값이되는건가?
private:
int a;
private:
Test(int b){ a=b; }
이렇게 주는거랑
Test(int b):a(b){}
이렇게 주는거랑 완전히똑같은거야? const 값이 아니면?
그리고 멤버값줄때
private:
int a = 3;
같은식으로 값을미리줘버리면 어떻게되? 이게 디폴트값이되는건가?
1. 다름, 위에 것은 객체 생성 이후에 멤버 변수에 값을 대입하는거고 아래 것은 객체를 생성할 때 멤버 변수를 초기화 하는것임.(그런데 빌트인 타입들인 int,char 같은 거는 뭐... 별 차이 없다고 봐도됨. 하지만 멤버 변수가 다른 클래스 객체인경우는 차이가 좀 나지)
2. 두 번재는... 흠 정확히 기억이 안나는데 Test(int b):a(b){} 이거랑 비슷한 의미일거야.