构造函数与初始化列表

家住魔仙堡 提交于 2019-11-30 12:12:50
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 class stu
 5 {
 6     public:
 7         stu()
 8         {
 9             puts("stu无参构造函数调用"); 
10         }
11         
12         stu(int age)
13         {
14             s_age = age;
15             puts("stu有参构造函数调用");
16         }
17         
18         stu(const stu &s)
19         {
20             //将传入的学生的所有属性全部拷贝到我身上 
21             s_age = s.s_age;
22             puts("stu拷贝构造函数调用");
23         }
24         ~stu()
25         {
26             puts("stu析构函数调用");
27         }
28         int s_age;
29 };
30 //调用 
31 void test()
32 {
33 
34     stu s2(10); //有参构造函数调用
35     stu s3(s2);//拷贝构造函数调用
36     cout << "s2 age is " << s2.s_age << endl;
37     cout << "s3 age is " << s3.s_age << endl;
38 }
39 
40 void work(stu s)
41 {
42     
43 }
44 void test01()
45 {
46     stu s;
47     work(s);
48 }
49 
50 stu go()
51 {
52     stu p1;
53     cout << (int*)&p1 << endl;
54     return p1;
55 }
56 
57 void test02()
58 {
59     stu w = go();
60     cout << (int*)&w << endl;
61 }
62 int main()
63 {
64     //test();
65     //test01();
66     test02();
67     return 0;
68 }

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!