重载 ++ 运算符分别实现 i++ 和 ++i
作者:linux大本营
- 2023-04-26 湖南
本文字数:487 字
阅读完需:约 2 分钟
重载++运算符可以使用类的成员函数或者友元函数实现。
使用类的成员函数实现
class Integer{public: Integer& operator++() { // 前置++ ++m_value; return *this; } Integer operator++(int) { // 后置++ Integer tmp = *this; ++(*this); return tmp; }private: int m_value;};
// 测试代码Integer i(1);++i; // 调用前置++i++; // 调用后置++
复制代码
使用友元函数实现
class Integer{ friend Integer& operator++(Integer& obj); // 前置++ friend Integer operator++(Integer& obj, int); // 后置++public: Integer(int value=0): m_value(value) {}private: int m_value;};
Integer& operator++(Integer& obj) { ++obj.m_value; return obj;}
Integer operator++(Integer& obj, int) { Integer tmp = obj; ++obj; return tmp;}
// 测试代码Integer i(1);++i; // 调用前置++i++; // 调用后置++复制代码
相关技术视频教程:c/c++ linux服务器开发/后台架构师免费学习地址
c/c++后端技术交流群:579733396
划线
评论
复制
发布于: 刚刚阅读数: 5
linux大本营
关注
还未添加个人签名 2020-11-26 加入
C/C++linux服务器开发群 812855908










评论