#include "stdafx.h"
#include "iostream"
using namespace std;
class COperator
{
private:
int m_data;
public:
COperator(void):m_data(0)
{
}
public:
~COperator(void)
{
}
public:
int COperator::operator ++(int x)
{
int res = m_data;
m_data += x;
return res;
}
int COperator::operator ++()
{
return ++m_data;
}
};
/*
int operator++(CNumber & cn) 将于CNumber::operator ++()发生歧义
int operator++(CNumber & cn)
{
return 5;
}
*/
int _tmain(int argc, _TCHAR* argv[])
{
COperator cn;
int a = 3;
cout << ++cn; //调用operator ++();
cout << cn.operator ++(); //调用operator ++();
cout << cn++; //调用operator ++(int x);
cout << cn.operator ++(0); //调用operator ++(int x);
// cout << cn++ 3; //调用错误,不能通过此方法传递参数
return 0;
}