C++ PP Chapter XI 使用类
来源:互联网 发布:图画软件下载 编辑:程序博客网 时间:2024/05/05 17:31
1. 运算符重载(多态) 运算符函数格式: operator op(arguemnt-list) 例如: operator[](..) //[]是数组索引运算符 对time 类重载运算符 + ,该运算将接受另一个time对象 返回time对象 time time::operator+(const time & T) const { time sum; ... return sum; } 那么对于time对象 A,B 就可以直接执行 time C = A + B 这样的运算,但是注意对应于列表的顺序! 同符多义的基本运算符可以多义重载(每种重载都对应于此前的句法) 比如 - 运算具有两种解释2. 运算符重载限制: a. 重载运算符必须有一个操作数是用户定义的类型 b. 使用运算符时不能违反运算符原本的句法规则(单、双目运算符), 也不能改变优先级 c. 不能创建新的运算符 d. 不能重载: sizeof 、.*(成员指针运算符)、::、?:、typeid(RTTI运算符) const_cast 、dynamic_cast 、reinterpret_cast 、static_cast (强制转换运算符) e. 只能通过成员函数重载: = 、 () 、 [] 、 ->3. 友元 分为三种: a. 友元函数 b. 友元类 c. 友元成员函数 友元函数: 解决了 不能重载运算符解决 (double) 2.5 * (time) B 这样顺序的问题 I、创建友元函数 首先需要在类声明中放入原型,并在原型声明前加上关键字 friend 例如: friend Time operator*(double m,const Time & t); II、编写函数的定义 注:类的友元函数是非成员函数,其访问权限与成员函数相同 常用的友元:重载运算符 << 推荐方法 : ostream & operator<<(ostream &os,const className & obj) { os<< ...; return os; }4. 类的自动转换和强制转换类型(C++ P 笔记)
0 0
- C++ PP Chapter XI 使用类
- C++PP Chapter XVI String类和标准模板库
- C++ PP Chapter X 对象和类
- 《计算机程序设计艺术》阅读流程PP: xi-xiv
- C++ PP chapter Ⅳ 复用类型
- C++ PP Chapter VIII 函数探幽
- C++ PP Chapter Ⅴ 循环 and Chapter Ⅵ 分支
- C++PP 11-6
- C++PP 14-4
- c++pp 7.13.2
- c++pp 7.13.6
- c++pp 7.13.9
- xi
- XI
- xi
- xi
- c++pp 7.13.8a
- C++ PP chapter Ⅶ C++的编程模块
- 【知识分享】VisualSVN Server 安装失败解决方法
- 【Codeforces696B】【寻找】
- (OK) [android-x86-6.0-rc1] grub - set timeout=5
- 比较常用的jQuery
- 欢迎使用CSDN-markdown编辑器
- C++ PP Chapter XI 使用类
- LeetCode 第 48 题(Rotate Image)
- CAP理论
- Spring IOC 创建bean实例的方式
- 文件的读写
- 韩信点兵算法
- Android启动模式与onNewIntent
- 二分图匹配(基础)——过山车 ( HDU 2063 )
- Git使用入门