c++primer第十一章使用类(二)
来源:互联网 发布:北信源网络准入 编辑:程序博客网 时间:2024/06/03 19:10
ps:
rand()随机函数,会产生相同的随机值。
srand()会覆盖相同的默认值。
time(0)来设置种子,0是用作地址参数。
一、类的自动转换和强制类型转换
类的自动转换:转换构造函数。
调用转换构造函数的几种情况:
class Stonewt{public: Stonewt(double);};
(1)初始化
(2)赋值
(3)将double值传递给接收Stonewt的参数的函数。
(4)返回值被声明为Stonewt的函数试图返回double值时。
转换构造函数的几种等价方式:
(1)Stonewt a = 275;
(2)Stonewt a(275);
(3)Stonewt a = Stonewt(275);
转换函数:用户自定义的强制类型转换,可以使用强制类型转换那样使用。
格式:
operator typename()
eg : operator double( );
注意点:
(1)转换函数必须是类类型
(2)转换函数不能指定返回类型
(3)转换函数不能有形参
当定义了两种以上的转换函数时,用显示调用转换函数不容易产生二义性的问题。用eplicit关闭隐式转换。
转换函数与友元函数:
举例说明重载加法运算符转换与友元的区别:
类重载:对象 = 对象 + 基本类型
友元: 对象 = 对象 + 基本类型
对象 = 基本类型 + 对象
加法友元可以使程序更加适应自动类型的转换,原因在于两个操作数都可以成为函数的参数。
0 0
- c++primer第十一章使用类(二)
- C++ Primer Plus学习:第十一章 使用类(1)
- C++ Primer Plus学习:第十一章 使用类(2)
- C++ Primer Plus学习:第十一章 使用类(3)
- 【c++ primer】第十一章 使用类
- 【C++ Primer plus】【第十一章】使用类
- C++PRIMER第十一章练习
- C++Primer习题第十一章
- 【C Primer Plus】第十一章 字符串和字符串函数(二)
- 《c primer plus》编程练习回顾-第十一章(上)
- C++Primer(第十一章课后习题程序题源代码)
- C++Primer Plus(第六版) 第十一章 第七题
- c primer plus第十一章课后习题
- c++primer第五版第十一章练习
- C primer plus 第十一章 练习1:
- C primer plus 第十一章 练习2:
- C primer plus 第十一章 练习3:
- C++primer 第十一章笔记 初稿
- php的单例模式
- day21_ajax
- 欢迎使用CSDN-markdown编辑器
- 哈希算法---YY's new problem
- Eclipse中,格式化html代码排版问题
- c++primer第十一章使用类(二)
- Oracle 10g 如何删除干干净净!
- 《开发自己的搜索引擎》读书笔记——Lucene搜索
- 1004. 成绩排名
- GitHub命令行上传项目
- DES加密的python实现
- Could not create the view: An unexpected exception was thrown.
- Python中切片总结
- 九度OJ题目1438:最小公倍数