-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCtorDefaultInitMembers.cpp
54 lines (40 loc) · 1011 Bytes
/
CtorDefaultInitMembers.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
/**
* \file CtorDefaultInitMembers.cpp
* \brief Init members with default values
*/
#include <StdStream/StdStream.h>
#include <StdTest/StdTest.h>
#include <Stl.h>
//--------------------------------------------------------------------------------------------------
class X
{
public:
int a;
int b;
// Compile error
// const int &c;
std::string s {"Hello"};
X() = default;
X(const int a_value) :
a{a_value}
{
}
};
//--------------------------------------------------------------------------------------------------
int main(int, char **)
{
{
X x;
std::cout << STD_TRACE_VAR3(x.a, x.b, x.s) << std::endl;
}
{
X x(10);
std::cout << STD_TRACE_VAR3(x.a, x.b, x.s) << std::endl;
}
return EXIT_SUCCESS;
}
//--------------------------------------------------------------------------------------------------
#if OUTPUT
x.a: -1286932424, x.b: 32766, x.s: Hello
x.a: 10, x.b: 32766, x.s: Hello
#endif