1 #include <iostream> // 标准的输入输出
2 using namespace std;
3
4 class Game {
5 public:
6 Game()
7 {
8 ¦ cout << "Game的构造函数调用" << endl;
9 }
10
11 Game(string game)
12 {
13 ¦ cout << "Game的有参构造函数调用" << endl;
14 ¦ m_GameName = game;
15 }
16
17 ~Game()
18 {
19 ¦ cout << "Game的析构函数调用" << endl;
20 }
21 string m_GameName;
22 };
23
24 class Phone {
25 public:
26 Phone()
27 {
28 ¦ cout << "Phone构造函数调用" << endl;
29 }
30
31 Phone(string phone)
32 {
33 ¦ cout << "Phone有参构造函数调用" << endl;
34 ¦ m_PhoneName = phone;
35 }
36
37 ~Phone()
38 {
39 ¦ cout << "Phone的析构函数调用" << endl;
40 }
41 string m_PhoneName;
42 };
43
44 class Person {
45 public:
46 Person()
47 {
48 ¦ cout << "person的默认构造函数" << endl;
49 }
50
51 Person(string name, string PhoneName, string GameName)
52 ¦ : m_Name(name)
53 ¦ , m_Game(GameName)
54 ¦ , m_Phone(PhoneName)
55 {
56 ¦ cout << "Person的有参构造" << endl;
57 }
58
59 void playgame()
60 {
61 ¦ cout << m_Name << "拿着" << m_Phone.m_PhoneName << "玩着" << m_Game.m_GameName << endl;
62 }
63 ~Person()
64 {
65 ¦ cout << "person的默认析构函数" << endl;
66 }
67 string m_Name;
68 Game m_Game;
69 Phone m_Phone;
70 };
71
72 // 类对象作为成员的时候,构造顺序是将类对象一一构造,然后再构造自己,析构顺序是相反的
73 void test()
74 {
75 Person p("洪平", "苹果", "刺激战场");
76
77 p.playgame();
78 }
79
80 int main()
81 {
82 test();
83 return 0;
84 }
C++ 类对象作为成员
最新推荐文章于 2023-08-11 13:32:38 发布