码迷,mamicode.com
首页 > 其他好文 > 详细

【模板】重载

时间:2018-08-23 15:40:23      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:span   stream   style   public   code   amp   class   turn   int   

①重载string()

下面通过举例的方式简单说明:

class CDate{
public:
    int y,m,d;
    CDate(int y,int m,int d):y(y),m(m),d(d){}
    operator string()
    {
        string s;
        stringstream ss;
        ss<<y<<"-"<<m<<"-"<<d;
        ss>>s;
        return s;
    }
};
int main()
{
    int y, m, d;
    while(cin>>y>>m>>d)
    {
        CDate date(y, m, d);
        cout<<(string)date<<endl;
    }
}

 

②重载cin cout +  -  *  /

class Integer{
public:
    int a;
    Integer(int a):a(a){}
    Integer():a(0){}
    friend istream &operator>>(istream &is,Integer&x)
    {
        is>>x.a;
        if(!is)
            x=Integer();
        return is;
    }
    friend ostream &operator<<(ostream &os,const Integer&x)
    {
        os<<x.a;
        return os;
    }
    Integer operator+(const Integer&x)const
    {
        Integer t;
        t.a=this->a+x.a;
        return t;
    }
    Integer operator-(const Integer&x)const
    {
        Integer t;
        t.a=this->a-x.a;
        return t;
    }
    Integer operator*(const Integer&x)const
    {
        Integer t;
        t.a=this->a*x.a;
        return t;
    }
    Integer operator/(const Integer&x)const
    {
        Integer t;
        t.a=this->a/x.a;
        return t;
    }
};
int main()
{
    Integer a, b;
    while(cin>>a>>b)
    {
        cout<<a+b<<" "<<a-b<<" "<<a*b<<" "<<a/b<<endl;
    }
    return 0;
}

 

【模板】重载

标签:span   stream   style   public   code   amp   class   turn   int   

原文地址:https://www.cnblogs.com/kannyi/p/9523590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!