一个简单的运算符重载的类
#include <iostream>
using namespace std;
class CInt
{
public:
CInt(int i) : m_i(i) {};
virtual ~CInt(){};
void operator<<(ostream& os, const CInt &i)
{
os << '[' << i.m_i << ']';
}
public:
CInt &operator++()
{
++(this->m_i);
return *this;
}
const CInt operator++(int)
{
CInt temp = *this;
++(*this);
return temp;
}
CInt &operator--()
{
--(this->m_i);
return *this;
}
const CInt operator--(int)
{
CInt temp = *this;
--(*this);
return temp;
}
int &operator*() const
{
return (int &)m_i;
}
private:
int m_i;
};
//测试函数
int main(int argc, char* argv[])
{
CInt I(5);
cout << I++;
cout << ++I;
cout << I--;
cout << --I;
cout << *I;
return 0;
}
posted on 2005-05-10 10:20 hunter_gio 阅读(477) 评论(0) 收藏 举报
浙公网安备 33010602011771号