自增运算符重载
来源:互联网 发布:ubuntu17.04安装mysql 编辑:程序博客网 时间:2024/06/01 13:24
//前置++是把对象加1后再给你用。
//后置++是把对象的值借你用,再把对象本身加1。
1.作为成员函数:
前缀自增运算符
test operator++() //前置运算符 { this->value++; return *this; }
后缀自增运算符
test operator++(int) //后置运算符 { test temp(*this); //将对象的值赋给临时建立的对象 this->value++; return temp; //返回临时建立的对象, }
2.作为友元函数:
先要在类内声明友元函数
friend test operator++(test& a); friend test operator++(test& a,int);然后再类外定义
test operator++(test& a) //前置运算符{ a.value++; return a;}test operator++(test& a,int) //后置运算符{ test temp(a); a.value++; return temp;}
代码:
#include <iostream>#include <string>using namespace std;//前置++是把对象加1后再给你用//后置++是把对象的值借你,再把对象本身加1class test{ int value;public: test():value(0){} //无参构造函数 test(int n):value(n){} //有参... friend ostream& operator<<(ostream& output,test a); //重载插入运算符 friend istream& operator>>(istream& input,test& a); //重载提取运算符 test operator++() //前置运算符 { this->value++; return *this; } test operator++(int) //后置运算符 { test temp(*this); this->value++; return temp; }};ostream& operator<<(ostream& output,test a){ output<<a.value; return output;}istream& operator>>(istream& input,test& a){ cout<<"请输入对象的值value: "; input>>a.value; return input;}int main (){ test a; cin>>a; cout<<"++a "<<++a<<endl; cout<<"a++ "<<a++<<endl; cout<<"a "<<a<<endl; return 0;}
阅读全文
0 0
- 自增运算符重载
- 自增运算符重载
- 自增运算符重载
- 自增自减运算符重载
- 重载自增,自减运算符
- C++自增运算符进行重载
- 自增运算符的重载
- 自增++运算符的重载
- 菜鸟成长之自增自减运算符重载
- 自增、自减运算符的重载
- 运算符重载之自增自减篇
- C++运算符重载(9) - 自增和自减
- 四、自增自减运算符重载
- 重载自减运算符
- 重载前置,后置(自增运算符 ++ 和自减运算符 --)
- 重载前置,后置(自增运算符 ++ 和自减运算符 --)
- 重载前置,后置(自增运算符 ++ 和自减运算符 --)
- C++运算符重载之自增(++)、自减(--)运算符
- Qt状态机场景模拟-续
- HTML 依赖注入 内置服务
- 使用canvas实现图片压缩
- js+jQuery+ajax,处理数据和功能的实现
- [基环外向树+树形DP]BZOJ 1040—— [ZJOI2008]骑士
- 自增运算符重载
- java中如何 把http变为https:
- MATLAB 2016a安装
- MVP+RecyclerView
- 51Nod 1433 0和5 倍数
- Matlab上使用LIBSVM 3.22
- Eclipse 测试程序执行完所需要的时间(java)
- Android友盟集成QQ登陆详解大全
- Python网络编程