본문 바로가기

C++

C++7일차

C++7일차


객체의 생성과 소멸


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
 
using namespace std;
 
class test {
public:
    test() { //생성자
        cout << "생성자가 호출되었다!" << endl;
    }
    ~test() { //소멸자
        cout << "소멸자가 호출되었다!" << endl;
    }
};
 
//test object;
 
void testlocal() {
    cout << "함수가 시작" << endl;
    test aobject;
    cout << "함수 종료" << endl;
}
 
int main(void) {
    cout << "main" << endl;
testlocal();
    cout << "end" << endl;
    return 0;
}
cs


위의 예제는 생성자와 소멸자를 잘 설명하고 있는 예제입니다.

일단 생성자는 객체를 만들때 자동적으로 만들어지는 것입니다. 생성자가 있는 이유는 처음에 객체를 생성하면 초기화를 해주기에 생성자라는것이 있고 또, 이번에는 생성자로 객체가 처음 만들어 졌을때 초기화 되었다면 나중에 객체의 할당을 없앨때 소멸자가 생성됩니다.


순서

main -> 함수가 시작 -> 생성자가 호출되었다 -> 함수 종료 -> 소멸자가 호출되었다 -> end


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
 
using namespace std;
 
class comple{
public:
    comple() {
        real = 0;
        img = 0;
    }
    comple(double a, double b) {
        real = a;
        img = b;
    }
    double GetReal() {
        return real;
    }
    void SetReal(double real_) {
        real = real_;
    }
    double GetImg() {
        return img;
    }
    void SetImg(double img_) {
        img = img_;
    }
    void print() {
        cout << "REAL : " << this->real << endl;
        cout << "img : " << this->img << endl;
    }
 
private:
    double real;
    double img;
};
 
int main() {
    comple a;
    comple b = comple(23); //복소수
    b.print();
    return 0;
}
cs

위의 예제는 복소수라는 것을 잘 표현한 예제입니다.

복소수는 순서쌍 형태라는건만 아시면 됩니다.....

나중에 설명할께요...

'C++' 카테고리의 다른 글

C++ 9일차  (0) 2018.06.02
C++ 8일차  (0) 2018.06.02
C++6일차  (0) 2018.06.01
C++5일차  (0) 2018.05.30
C++4일차  (0) 2018.05.30