| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 757 人关注过本帖
标题:重载运算符示例
取消只看楼主 加入收藏
hmsabc
Rank: 2
来 自:贵州省兴义市
等 级:论坛游民
帖 子:97
专家分:19
注 册:2010-8-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
重载运算符示例
程序代码:
/*
运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,以实现相应的运算。也就是说,

运算符重载是通过定义函数实现的。运算符重载实质上是函数的重载。重载运算符的一般格式:
                 
                  函数类型 operator 运算符名称( 形参表列)
                  
                   { 对运算符的重载处理}

注意:函数名是由 operator 和 运算符组成。例如: operator+ 就是函数名。*/

//重载运算符 例10_2(谭浩强《C++程序设计》第一版 P316页)

#include <iostream>

using namespace std;

class Complex                                                      //定义 Complex

{ public:

    Complex( ){ real = 0; imag =0;}                                //定义无参构造函数,并初始化

    Complex( double r, double i){ real = r; imag = i;}             //构造函数重载,定义并初始化

    Complex  operator + ( Complex &c2);                            //声明重载运算符的 “ + ”函数

    void display( );                                               //声明输出函数

    private:

        double real;                                               //实部

        double imag;                                               //虚部

};

Complex Complex::operator + ( Complex &c2)                         //定义重载运算符 “ + ”的函数

{ Complex c;

c.real = real + c2.real;                                           //两个复数的实部相加

c.imag = imag + c2.imag;                                           //两个复数的虚部相加

return c;}


void Complex::display( )                                           //定义输出函数

{ cout << "(" << real << "," << imag << "i)" << endl;}



int main( )
{
    Complex c1( 3,4),c2( 5,-10),c3;                          //定义三个复数对象,建立对象时自动调用有参构造函数并赋值

    c3 = c1 + c2;                                            //运算符 “ + ”用于复数运算
   
    cout << "c1 =";c1.display( );                            //输出 c1 的值

    cout << "c2 =";c2.display( );                            //输出 c2 的值

    cout << "c1 + c2 =";c3.display( );                       //输出 c3 的值

    system("pause");
   
    return 0;
}
/*运算符重载对 C++ 程序设计有重要意义,把运算符重载和类结合起来,可以在 C++ 程序中定义出很有实用意义而使用方便的新数据
类型。运算符重载使 C++ 具有更加大的功能、更好的可扩充性和适应性,这是 C++ 最吸引人的特点之一。*/

搜索更多相关主题的帖子: 算符 示例 载运 
2010-08-13 10:08
hmsabc
Rank: 2
来 自:贵州省兴义市
等 级:论坛游民
帖 子:97
专家分:19
注 册:2010-8-2
收藏
得分:0 
回复 4楼 pangding
我现在对运算符重载,仍然不甚理解,所以用抄写的学习方法,希望能强行记住这个示例,然后再找一些资料学习,慢慢的来理解和消化。
2010-08-13 14:01
快速回复:重载运算符示例
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013006 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved