728x90
반응형
생성자함수란?
1. 객체 등록시 자동으로 호출되어지는 함수이다.
역할 : 객체필드 초기화 ( 쓰레기값 방지 )
객체등록 ( 디폴트 기능 )
2. 접근지정자를 주로 public으로 지정함.
3. 오버로딩이 가능하다 ( 명시적 + 암시적 )
4. const member function으로 만들 수 없다.
5. 리턴타입이 없다.
6. 함수이름이 클래스명과 동일하다.
7. 디폴트 생성자 함수는 생성자 함수를 명시적으로 제공하지 않을 경우에만 제공한다.
(코드 예시)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 |
class A {
int a;
int *p;
public: //여기서부터 다른 접근지정자를 만나기 전까지 지속된다. ( default == private )
//1. 생성자함수
A(int a = 1) {
p = new int[a];
for (int i = 1; i < a + 1; i++) {
p[i] = i;
cout << p[i] << endl;
}
}
void main() {
A b; // 암시적 오버로딩
cout << endl;
A a(8); // 명시적 오버로딩
} |
cs |
클래스를 생성하고, 접근지정자를 정해줍니다.
접근지정자를 정한 순간부터 다른 접근지정자를 만나기 전까지 유지됩니다.
(기본값은 private)
생성자 함수를 암시적으로 만들어줍니다.
메인에서 생성자함수를 불러옵니다.
(실행 결과)
반응형
'Programming > C++' 카테고리의 다른 글
(C++) 클래스를 이용하여 성적처리 (4) | 2018.03.08 |
---|---|
(C++) 복사생성자 함수란 무엇일까? (1) | 2018.03.08 |
(C++) 성적 입/출력 다차원 프로그램 (0) | 2018.03.07 |
(C++) 오버로딩(overloading)이란?? (0) | 2018.03.07 |
(C++) \t, 공백 언제까지 다 치고있을건가요? (setw) (3) | 2018.03.06 |