C++ Primer 学习笔记十四 —— 重载操作符与转换

来源:互联网 发布:网络变压器加工 编辑:程序博客网 时间:2024/05/18 19:46

记录笔记原则:

1.用简单易懂的语言叙述自己的理解,避免照搬原文

2.用实例说明,避免空洞

3.多做总结和横向对比,避免片面


重载操作符的意义

直观;

代码简洁;


编译器默认重载的操作符

= & , && ||


成员 or 非成员实现

 = [] () -> 必须为成员函数

+= -= *=  复合赋值 一般定义为成员函数

++ -- * 一般定义为成员函数

+ - == < > 算术、关系 一般为友元函数


输入输出操作符

一般为友元函数;

输入操作符必须处理错误和文件结束的情况;

ostream &operator<<(ostream &out, const A &obj);istream &operator<<(istream &in, A &obj);


算术操作符

一般为友元函数;

一般返回右值;

A operator+(const A &obj1, const A &obj2);A operator==(const A &obj1, const A &obj2);


下标操作符

必须定义成员函数;

一般返回引用;

int &operator[](const int i);const int &operator[](const int i) const;


自增自减操作符

一般为友元函数;

前自增返回左值,后自增返回右值;

A &operator++();  // 前自增A operator++(int);  // 后自增


原创粉丝点击