博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
拷贝构造函数调用的时机
阅读量:4695 次
发布时间:2019-06-09

本文共 1718 字,大约阅读时间需要 5 分钟。

C++拷贝构造函数调用时机有3中

1.将一个已经创建的对象来初始化另一个对象

1     stu s2(10); //有参构造函数调用2     stu s3(s2);//拷贝构造函数调用3     cout << "s2 age is " << s2.s_age << endl;

 

2.值传递的方式给函数传值

1 void work(stu s) 2 { 3      4 } 5 void test01() 6 { 7     stu s; 8     work(s); 9 }10 int main()11 {12     //test();13     test01();14     return 0;15 }

3.以值方式返回局部对象

1 stu go() 2 { 3     stu p1; 4     cout << (int*)&p1 << endl; 5     return p1; 6 } 7  8 void test02() 9 {10     stu w = go();11     cout << (int*)&w << endl;12 }13 int main()14 {15     //test();16     //test01();17     test02();18     return 0;19 }

完整代码

1 #include
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 }
View Code

 

转载于:https://www.cnblogs.com/mch5201314/p/11584004.html

你可能感兴趣的文章
课堂作业1
查看>>
IE8/9 本地预览上传图片
查看>>
Summary of CRM 2011 plug-in
查看>>
Eclipse+Maven环境下java.lang.OutOfMemoryError: PermGen space及其解决方法
查看>>
安全漏洞之Java
查看>>
Oracle 组函数count()
查看>>
Session的使用过程中应注意的一个小问题
查看>>
SDK,API,DLL名词解释
查看>>
试探算法
查看>>
安恒杯七月赛题
查看>>
世界著名logo设计文化解读
查看>>
统计学习方法[6]——逻辑回归模型
查看>>
体验课:开启算法之旅
查看>>
17.28搭建项目开发环境
查看>>
day38 07-Spring框架Bean的时候方式
查看>>
day39-Spring 13-Spring的JDBC模板:默认连接池的配置
查看>>
hdu 2058 The sum problem
查看>>
[wp7游戏]wp7~~X-Box Live游戏~~集合贴~~
查看>>
Access 标准表达式中数据类型不匹配问题
查看>>
Python实现屏幕截图
查看>>