第八章,重载

2016-11-14  本文已影响0人  ie大博

我觉得重载好像就是借助系统给的函数,自己在制作一个类似的函数,用于自己制作的类的运算中。

+函数的重载:增加可读性

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的()

}
上一篇 下一篇

猜你喜欢

热点阅读