2012. 5. 7. 14:52
Study/C++
* const 의 의미 - 접근 권한의 제한
1. 변수에서의 const : 변수의 '상수화', const로 변수를 선언하면서 초기화 한 값 이후로는 값 변경이 불가능
2. 함수에서의 const : 함수의 권한 통제, class 내 멤버 함수의 경우 멤버변수에 대해 '쓰기'권한이 제한된다.
3. 클래스에서의 const : http://waylight3.blog.me/50135382979
1) 멤버 함수를 상수화 할 경우의 특징
(1) 상수화 된 함수는 상수화 되지 않은 함수의 호출을 허용하지 않음
(2) 멤버 변수의 포인터를 리턴하는 것도 허용하지 않음
* 디폴트 매개변수
1. 함수인자에 값을 입력하지 않을 경우 인자 선언과 동시에 특정값으로 초기화 가능
2. 단, 생성자 멤버함수 오버로딩시에는 사용하지 않는다.
* 멤버 이니셜라이저
1. 함수 선언부가 아닌 정의 부에 명시 함
2. 멤버 변수 중 const로 상수화 된 경우에도 이니셜라이저를 통해 객체 생성과 동시에 원하는 값으로 초기화 시킬 수 있다.
3. 멤버 변수 중 참조자도 초기화 가능 하다.(단, 특별한 경우가 아닌 이상 잘 안쓴다. 특히 객체 참조자의 경우 객체지향 설계에 위배 될수도 있다.)
4. 예제
cPoint top, bot;
cRectangle(int tx, int ty, int bx, int by):top(tx,ty), bot(bx, by)
5. 이니셜라이저를 포함한 객체 생성과정
1) 메모리 할당
2) 생성자 호출과 이니셜라이저를 이용한 멤버 초기화
3) 생성자 실행
* private 생성자
1. 외부에서는 호출 불가
2. 내부에서는 호출 가능
1. 변수에서의 const : 변수의 '상수화', const로 변수를 선언하면서 초기화 한 값 이후로는 값 변경이 불가능
2. 함수에서의 const : 함수의 권한 통제, class 내 멤버 함수의 경우 멤버변수에 대해 '쓰기'권한이 제한된다.
3. 클래스에서의 const : http://waylight3.blog.me/50135382979
1) 멤버 함수를 상수화 할 경우의 특징
(1) 상수화 된 함수는 상수화 되지 않은 함수의 호출을 허용하지 않음
(2) 멤버 변수의 포인터를 리턴하는 것도 허용하지 않음
* 디폴트 매개변수
1. 함수인자에 값을 입력하지 않을 경우 인자 선언과 동시에 특정값으로 초기화 가능
2. 단, 생성자 멤버함수 오버로딩시에는 사용하지 않는다.
* 멤버 이니셜라이저
1. 함수 선언부가 아닌 정의 부에 명시 함
2. 멤버 변수 중 const로 상수화 된 경우에도 이니셜라이저를 통해 객체 생성과 동시에 원하는 값으로 초기화 시킬 수 있다.
3. 멤버 변수 중 참조자도 초기화 가능 하다.(단, 특별한 경우가 아닌 이상 잘 안쓴다. 특히 객체 참조자의 경우 객체지향 설계에 위배 될수도 있다.)
4. 예제
cPoint top, bot;
cRectangle(int tx, int ty, int bx, int by):top(tx,ty), bot(bx, by)
5. 이니셜라이저를 포함한 객체 생성과정
1) 메모리 할당
2) 생성자 호출과 이니셜라이저를 이용한 멤버 초기화
3) 생성자 실행
* private 생성자
1. 외부에서는 호출 불가
2. 내부에서는 호출 가능
'Study > C++' 카테고리의 다른 글
[OOP1] 클래스 (0) | 2012.05.17 |
---|---|
[OOP1] 120510 소멸자, this, 복사 생성자, 깊은 복사와 얕은 복사 (0) | 2012.05.10 |
[OOP1] 120503 Class, 객체, 생성자, 소멸자 (0) | 2012.05.03 |
[OOP1] 클래스 (0) | 2012.04.30 |
[OOP1] 120426 Class (0) | 2012.04.26 |