-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy path_test_cpp_class.cpp
98 lines (88 loc) · 1.85 KB
/
_test_cpp_class.cpp
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/**----------------------------------------------------------------------------
* _test_cpp_class.cpp
*-----------------------------------------------------------------------------
*
*-----------------------------------------------------------------------------
* All rights reserved by Noh,Yonghwan ([email protected], [email protected])
*-----------------------------------------------------------------------------
* 2014:2:3 20:24 created
**---------------------------------------------------------------------------*/
#include "stdafx.h"
class base
{
public:
base(int param1)
{
UNREFERENCED_PARAMETER(param1);
log_dbg "" log_end
}
virtual ~base()
{
log_dbg "" log_end
}
public:
int member1;
};
class child : public base
{
public:
child(int param1):base(param1)
{
log_dbg "" log_end
}
virtual ~child()
{
log_dbg "" log_end
}
};
class child_has_diff_creator : public base
{
public:
child_has_diff_creator(int param1, int param2): base(param1)
{
UNREFERENCED_PARAMETER(param2);
log_dbg "" log_end
}
virtual ~child_has_diff_creator()
{
log_dbg "" log_end
}
};
/**
* @brief 생성자 / 소멸자 호출 순서 확인용 테스트
* @param
* @see
* @remarks
* @code
* @endcode
* @return
**/
bool test_cpp_class()
{
/* expected output
[INFO] base::base,
[INFO] child::child,
[INFO] child::~child,
[INFO] base::~base,
*/
base* obj = new child(1);
delete obj;
/*
base::base,
child::child,
child::~child,
base::~base,
*/
child* obj2 = new child(1);
delete obj2;
/*
base::base,
child_has_diff_creator::child_has_diff_creator,
child_has_diff_creator::~child_has_diff_creator,
base::~base,
*/
child_has_diff_creator* obj3 = new child_has_diff_creator(1,2);
obj3->member1 = 1;
delete obj3;
return true;
}