重载++前缀

测试代码:

#include<iostream>
using namespace std;

class myclass{
 int m,n;
public:
 myclass(int x,int y){m=x,n=y;}
 myclass(){}
 void show(){cout<<"m is "<<m<<'/t'<<"n is "<<n<<endl;}
// myclass operator++();
 friend myclass operator++(myclass &op);
};
/*
myclass myclass::operator++()
{
 m++;
 n++;
 return *this;
}
*/

myclass operator++(myclass &op)
{
 op.m++;
 op.n++;
 return op;
}

int main()
{
 myclass cl(0,0);
 cl.show();
 ++cl;
 cl.show();
 return 0;
}

 

两种方法中只能选择一种,否则编译器不知道选用哪种。

测试结果:

m is 0  n is 0
m is 1  n is 1
Press any key to continue

阅读更多
文章标签: 编译器 测试
个人分类: C语言学习
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭