c++复习之 友元和重载(8)
2018-01-22 11:18
309 查看
11.1 运算符重载
运算符重载是一种形式的c++多态;用户能够定义多个名称相同但特征标(参数列表)不同的函数叫做函数重载或函数多态。11.2 运算符重载示例
class Time { ... Time operator+(const Time&)const;//声明函数 }
Time Time::operator+(const Time& t)const//第一个Time是返回类型,第二个是对象名(命名空间) { Time sum; sum.minutes = minutes + t.minutes; sum.hours = hours + t.hours + sum.minutes/60; sum.munutes %= 60; return sum; }
11.3 友元
该章节讲到了友元函数:通过让函数成为类的友元,可以赋予该函数与类的成员函数相同的访问权限。通常友元函数使用在运算符重载中。friend Time operator*(double m, const Time & t);//声明
Time operator*(double m, const Time & t) //不是成员函数不要使用Time::限定符,不要在定义中使用friend { Time result; ... return result; }
11.4 重载运算符
…11.5 example
再谈重载,一个矢量类11.6 类的自动转换和强制类型转换
11.6.1 c++内置类型转换
c++处理内置类型转换,相同类型的可以转换,虽然可能会损失精度,但不自动转换不兼容的类型。int *p = 10;
无法自动转换时,使用强制转换:
int *p = (int *)10;
11.6.2 类的转换
将构造函数用作自动类型转换函数,程序将使用构造函数来创建一个临时对象,并用值初始化,随后复制到左值中。使用 explicit关键字来修饰构造函数表示只能使用显示转换(直接初始化一个对象),不能进行隐式转换。
相关文章推荐
- c++ 类型转换——c++复习(九)
- C++基础复习-----2(const 与static)
- C++复习 03 标准库类型
- C++复习 13 复制控制
- C++复习之循环和文本输入(5)
- 【C++复习二】数据类型
- c++ 多线程——c++复习(十)
- 面试复习(C++)之直接插入排序
- C++第8周项目 数组和指针 【项目2-用对象数组操作长方柱类】(复习新版)
- c++知识复习1.0
- C++ QT 的快速排序 几年之前写的 现在复习下 呵呵
- BMP文件读写复习---C++实现
- 20170113C++阶段班03_Object C++_08-09语法复习/Object复习
- c++第二周复习
- C++基础知识复习--函数模板
- C++复习第四天 函数重载
- C++复习7.虚表的概念
- C++基础知识复习&总结
- c++知识复习
- c++ bind函数绑定——c++复习(六)