C++友元函数重载"++"和"--"运算符
2016-04-19 23:31
357 查看
代码:
输出:
分析:
前缀方式和后缀方式重载函数不同,以参数int区分
#include <iostream> #include <cstring> using namespace std; class one{ public: one(int i); void print(); friend one operator++(one&); friend one operator++(one&,int); private: int i; }; one::one(int I){ i = I; } void one::print(){ cout<<"i="<<i<<endl; } one operator++(one &op){ ++op.i; return op; } one operator++(one &op,int){ one temp(op); op.i++; return temp; } int main(){ one obj1(1),obj2(100); obj1.print(); (++obj1).print();//隐式调用 (obj1++).print(); obj1.print(); (operator++(obj2)).print();//显式调用 (operator++(obj2,1)).print();//此处的参数1可以取任意整数(int) obj2.print(); return 0; }
输出:
i=1 i=2 i=2 i=3 i=101 i=101 i=102
分析:
前缀方式和后缀方式重载函数不同,以参数int区分
相关文章推荐
- C++常用库
- C语言计算字符串长度的几种方法
- Next Permutation
- C语言基本数据类型
- 探究fork函数
- C语言运算符表达式
- 巩固C语言(十二)----文件加解密
- C++重载括号和重载类型探索
- day01 C语言基础
- C++ 的内置函数(inline)和作用域运算符(::)
- 浅析C++多态及其实现模式
- 细谈C++的运算符重载
- C++第四次实验
- C++深层复制解决指针悬挂
- 【代码】C++实现广义表及其测试用例
- C语言文件操作包括static,extern的学习笔记
- C语言预处理指令学习笔记
- C语言结构体学习笔记
- C++primer第14章习题解答
- [C++学习笔记]虚函数用法及注意事项