C++5

C++5

1加号运算符重载
1.1如果想让自定义数据类型 进行+运算,那么就需要重载 + 运算符
1.2在成员函数 或者 全局函数里 重写一个+运算符的函数
1.3函数名 operator+ () {}
1.4运算符重载 也可以提供多个版本
2左移运算符重载
2.1不要随意乱用符号重载
2.2内置数据类型 的运算符不可以重载
2.3cout << 直接对Person自定义数据类型 进行输出
2.4写到全局函数中 ostream& operator<< ( ostream & cout, Person & p1 ) {}
2.5如果重载时候想访问 p1的私有成员,那么全局函数要做Person的友元函数
3前置 后置 ++ 运算符重载
3.1自己实现int类型 MyInteger
3.2内部维护以int数据
3.3MyInteger myInt
3.4myInt ++ 后置 ++myInt 前置
3.5重载++运算符 operator++() 前置 operator++(int) 后置
3.6前置理念 先++ 后返回自身 后置理念 先保存住原有值 内部++ 返回临时数据
3.7练习 自己实现递减运算符重载 –
4智能指针实现
4.1Person类有showAge 成员函数
4.2如果new出来的Person对象,就要让程序员自觉的去释放 delete
4.3有了智能指针,让智能指针托管这个Person对象,对象的释放就不用操心了,让智能指针管理
4.4为了让智能指针想普通的Person指针一样使用 就要重载 -> 和
5赋值运算符重载
5.1系统默认给类提供 赋值运算符写法 是简单值拷贝
5.2导致如果类中有指向堆区的指针,就可能出现深浅拷贝的问题
5.3所以要重载 = 运算符
5.4如果想链式编程 return*this
6[]运算符重载
6.1返回数组索引的引用
6.2int & operator[](int index)
6.3return this->pAddress[index]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值