C++ Primer Plus 第十一章总结——使用类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++ Primer Plus 第十一章总结——使用类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1876字,纯文字阅读大概需要3分钟。
内容图文
1.运算符重载是一种多态形式,是对象操作更加美观方便。其限制为:不能违反运算符原来的句法规则,不能修改运算符的优先级,不能创建新运算符;“=、()、[]、->”四个运算符只能通过成员函数进行重载。
result = obj1.operator op(obj2); //显示调用
result = obj1 op obj2; //隐式调用
2.使用重载函数的版本选择标准是参数的数目、类型和排列顺序,即特征标。
3.不要返回指向局部变量或临时对象的引用,函数执行完毕时,引用将指向不存在的数据。
4.友元函数与成员函数一样拥有访问私有数据和方法的权限。友元函数的定义不要使用类作用域解析符、不使用关键字friend。
5.类允许从本质上、而不是表达方式上看待一个量。类中存储多种表示方式,并且定义类函数进行表示方式的转换。
6.常用的友元重载运算符函数<<,其通用格式为(返回类型为ostream&实现了表达式的拼接;而且ostream没有公有的复制构造函数,必须使用引用):
1 ostream& operator <<(ostream& os, const Classname& obj) 2 { 3 os << ...; 4 return os; 5 }
7.获取随机数的常用方法(C++11 的头文件random能提供更强大的支持):
1 #include <cstdlib> //for srand() rand() 2 #include <ctime> //for time() 3 #define RANGE 7; 4 //time(0)返回当前时间,为从某一日期开始的秒数 该函数的参数接受time_t变量的地址, 5 //对该变量赋值,并返回它 6 //srand()可设置初始种子值 7 //rand()通过某种算法使用种子值获得随机数,返回0到某个值(取决于实现)之间的随 8 //机整数。第一次调用时,使用初始种子值,后面的调用使用上次生成的随机值 9 10 int main() 11 { 12 srand(time(0)); //设置随机的初始种子值 13 int iNum = rand() % RANGE + 1; //范围1 - RANGE 的随机值 14 ...
8.其他类型转为类类型:接受一个参数或除了第一个参数外、其他参数都提供了默认值的构造函数能进行类型转换,关键字explicit将关闭上述的隐式特性,只允许显式转换;类类型转为其他类型:特殊的C++运算符函数,它必须是类方法,无返回类型,无参数,格式为 "operator typeName();" ,在C++11中能使用explicit关闭上述隐式特性。应谨慎地使用隐式转换函数,且过多的转换函数将产生二义性。
内容总结
以上是互联网集市为您收集整理的C++ Primer Plus 第十一章总结——使用类全部内容,希望文章能够帮你解决C++ Primer Plus 第十一章总结——使用类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。