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

记录笔记原则:

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);  // 后自增


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值