第2个回答 2013-12-15
一般是在,需要对非基本类型 (例如自定义的类)对象,做加减乘除等运算时候,需要针对这个类做运算符重载。
class myclass
{
public:
int m_iA;
int m_iB;
myclass( int a, int b)
{
m_iA = a; m_iB = b;
}
myclass operator +(myclass &c1, myclass&c2 )
{
return myclass(c1.m_iA +c2.m_iA,c1.m_iB+c2.m_iB );
}
}
这样就可以
myclass o1, o2, o3;
o1.m_iA = 8;
o1.m_iB = 7;
o2.m_iA = 3;
o2.m_iB = 2;
o3 = o1 + o2;
printf( "%d, %d" , o3.m_iA, o3.m_iB );
// 11, 9