我觉得重载好像就是借助系统给的函数,自己在制作一个类似的函数,用于自己制作的类的运算中。
+函数的重载:增加可读性
int a1,b1,c1;
class zyz
{
int m_z;
public:
zyz(int z)
{
m_z=z;
}
zyz()
{
m_z=10;
}
int getz()
{
return m_z;
}
int operator+(zyz t2)//成员函数重载,一个擦拿书
{
return m_z+t2.m_z;
}
void setz(int z)
{
m_z=z;
}
};
zyz a2(11),b2(2),c2;
/*zyz operator+(zyz t1,zyz t2)//全局重载两个参数
{
return zyz(20);
}*/
int main()
{
c2 =a2+b2;
cout<<"c2= "<<c2.get()<<endl;//因为c2是自己定义的,c2.后面加get()
}
重载++函数
class zyz
{
int m_z;
public:
zyz(int z)
{
m_z=z;
}
zyz()
{
m_z=10;
}
int getz()
{
return m_z;
}
void setz(int z)
{
m_z=z;
}
int operator+(zyz t2)
{
return m_z+t2.m_z;
}
friend zyz& operator++(zyz& t);
};
zyz a2(11),b2(2),c2;
zyz& operator++(zyz& t)//如果传参里面多了一个int的话,就是后++
{
++t.m_z;//前++
return t;
}
int main()
{
c2 = ++a2;
cout<<"a2 = "<<a2.getz()<<endl;//别忘了get的()
}
网友评论