C++——面向对象(三)——各种对象的生存周期
来源:互联网 发布:做个文明中国人 知乎 编辑:程序博客网 时间:2024/05/22 03:24
good1调用默认的构造函数
good2调用带有三个参数的构造函数
good3调用拷贝构造函数
good1 = good3,good1调用赋值运算函数
good4调用带有3个参数的构造函数
析构顺序是5,4,3,2,1
2,3之间先调用带有三个参数的构造函数,构造临时对象,
调用赋值运算符重载函数用产生的临时对象给已经存在的good1对象赋值,最后临时对象析构
类对象的生存周期:
3,4之间,先调用带有float类型参数的构造函数,构造临时对象,再调用赋值运算符重载函数用产生的临时对象给good1赋值,最后析构临时变量
4,5之间,先调用带有float类型参数的构造函数,构造临时变量,再调用赋值运算符重载函数用产生的临时变量给good1赋值,最后析构临时变量。
5,6之间,用指针p指向临时对象,p先调用带有三个参数的构造函数,构造临时变量,然后析构临时变量,
q在出了main函数右括号才析构
因为临时对象的周期 提升成为 引用变量的生存周期,引用变量什么时候结束,临时变量就什么时候结束
临时量出了语句才结束,
explicit 禁止隐士生成对象,
成员方法const的意义
1.保护实参不被修改,不能去掉
2.为了引用隐式生成的临时量
如果去掉const,内置类型产生的临时量都是常量(临时量放在寄存器中),不能被修改,
自定义类型产生的临时量都是变量(放在内存中),可以被修改,
隐式产生的临时量都是常对象,89.5-》const CGood(89.5),常对象一定要用常引用来引用,
阅读全文
0 0
- C++——面向对象(三)——各种对象的生存周期
- [C++]C++对象的生存周期
- 第二章:C#.NET面向对象——面向对象程序设计1(面向对象程序设计语言的三大原则)
- 面向对象基础知识(3)--对象生存周期
- 类和对象的基础6——类的作用域和生存周期
- C++对象的生存周期
- 类对象的生存周期
- 对象的生存周期对比
- C++对象的生存周期
- 对象的生存周期探究
- 类对象的生存周期
- 类对象的生存周期
- C++_类_对象的生存周期
- 面向对象(三)—枚举
- JAVA基础语法、面向对象、了解java对象的生存周期(Object、修饰符、数组、枚举、接口、抽象类)
- 类 对象生存周期
- 面向对象语法3—对象的三大特性
- 软件工程(四)——生存周期
- Fiddler构造HTTP-GET请求
- Python中安装第三方库的三种方法
- git使用--管理你的code
- 我的第一个博客
- 我的编程之路
- C++——面向对象(三)——各种对象的生存周期
- Laravel5 call to undefined function openssl cipher iv length() 报错 PHP7开启OpenSSL扩展失败
- 深入哈希表(四)--哈希表封装UnorderMap、UnorderSet
- 双重监听俩个值的变化 vue2.0 -- 飞机票项目
- Linux常用命令
- IDEA下WEB目录结构介绍
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 G. Xor
- 小白成长日记(11)--选择排序之堆排序
- 【末世旅行之PHP】PHP用PDO连接MySQL数据库工具类-增删改查