C++标准规定:当为一个类型重载++, --的前置版本时,青年人网提示不需要参数;当为一个类型重载++, --的后置版本时,需要一个int类型的参数作为标志。
可参考<The design and Evolution of C++>
class Integer{
long m_data;
public:
Integer(long data): m_data(data){}
Integer& operator++(){
cout << "Integer::operator++() called" << endl;
m_data++;
return *this;
}
Interger operator++(int){
cout << "Integer::operator++(int) called" << endl;
Integer tmp = *this;
m_data++;
return tmp;
}
};
责任编辑:小草