본문 바로가기

Programming/ C++

(C++) 생성자 함수란 무엇일까?

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) 

생성자 함수를 암시적으로 만들어줍니다.

메인에서 생성자함수를 불러옵니다.

 

(실행 결과)

 

반응형