#MFC学习笔记# 结构体运算符重载

今晚写代码,结构体直接=报错了,于是给结构体重载运算符,在博客园中看见一篇很好的博客,收藏啦~~~

原地址:http://www.cnblogs.com/xielechuan/archive/2012/05/25/2518358.html

结构体运算符重载

1、定义结构体

struct Currency

{

    int Dollar;

    int Cents;

}

2、重载IO输出操作,在结构体内部将输入操作的重载定义为友元函数重载

friend ostream &operator<<(ostream &out,Currency value);

在结构体外部进行具体定义

ostream& operator<<(ostream &out,Currency value)

{

    out<<"The dollar = "<<value.Dollar<<" and The Cents = "<<value.Cents<<endl;

    return out;

}

3、重载结构体的“=”操作符(在结构体内部)

Currency& operator=(Currency& value)

{

        Dollar = value.Dollar;

        Cents = value.Cents;

        return *this;

 }

4、重载结构体的“+”操作符(在结构体内部)

Currency& operator+(Currency& value)

{

        Dollar += value.Dollar;

        Cents += value.Cents;

        return *this;

}

5、重载结构体的"-"操作符(在结构体内部)

Currency &operator-(Currency& value)

{

  Dollar = Dollar - value.Dollar;

     Cents = Cents - value.Cents;

      return *this;

}

6、重载结构体的“*”操作符(在结构体内部) 

Currency& operator*(Currency& value)

  {

        Dollar *= value.Dollar;

        Cents *= value.Cents;

        return *this;

 }

7、定义函数模板格式的输出函数

template <typename T>

void DisplayValue(T value)

{

    cout<<value<<endl;

}

 

转载于:https://www.cnblogs.com/liumeng-blog/archive/2013/05/22/3093788.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值