| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 658 人关注过本帖
标题:请高手帮帮忙编写个程序
只看楼主 加入收藏
lsnpersist
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-10-31
结帖率:25%
收藏
已结贴  问题点数:15 回复次数:4 
请高手帮帮忙编写个程序
  包含运算符重载 静态成员函数 友员函数和2个类
  请高手帮帮忙  感激不尽
搜索更多相关主题的帖子: 编写 
2009-12-23 19:32
guchao2009
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:101
专家分:106
注 册:2009-4-13
收藏
得分:5 
楼主能说的在明白点吗?
2009-12-26 22:57
faye3000
Rank: 2
等 级:论坛游民
帖 子:11
专家分:25
注 册:2009-10-7
收藏
得分:5 
写哪方面的阿?
2009-12-27 12:09
yangliangbin
Rank: 2
来 自:广西
等 级:论坛游民
帖 子:66
专家分:62
注 册:2009-6-3
收藏
得分:5 



#include<iostream.h>//不带后缀.h的头文件不支持把成员函数重载为友元函数。
                    //vc++所提供的老形式的带.h的头文件可以支持!!!
//using namespace std;

/****************定义类********************/
class Complex
{
public:
    Complex(){real=0;imag=0;}
    Complex(double r,double i){    real=r;imag=i;}
    Complex operator + (Complex &c2);//两个复数相加的重载函数
    Complex operator + (int &x);//一个整数与复数相加的重载函数
    friend    Complex operator + (int &x,Complex &c1);//定义友元
    void display();
private:
    double real;
    double imag;
};

/******************复数相加*********************/
Complex Complex::operator + (Complex &c2)//两个复数相加
{
    Complex c;
    c.real=real+c2.real;//real是属于c1对象的,this指针!!!
    c.imag=imag+c2.imag;//imag是属于c1对象的
    return c;
}

/*****************复数与整数相加************************/
Complex Complex::operator + (int &x)//一个整数与复数相加
{
    return Complex(x+real,imag);//real与imag是属于c1对象的
}



/*****************整数与复数相加***************************/
Complex operator + (int &x,Complex &c1)//一个整数与复数相加
{

    return Complex(x+c1.real,c1.imag);
}
/*****************输出数据***************************/
void Complex::display()
{
    cout<<"("<<real<<","<<imag<<"i"<<")"<<endl;
}

/****************主函数***************************/
int main()
{
    Complex c1(3,4),c2(5,8),c3,c4,c5;int s=10;
    c3=c1+c2;//调用c1的函数operator + ,以c2为参数
    c4=c1+s;
    c5=s+c1;
    cout<<"c1=";c1.display();
    cout<<"c2=";c2.display();
    cout<<"s="<<s<<endl;
    cout<<"c3=c1+c2=";c3.display();
    cout<<"c4=c1+s=";c4.display();
    cout<<"c5=s+c1=";c5.display();

    return 0;
}

相信自已……
2009-12-27 22:40
lsnpersist
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-10-31
收藏
得分:0 
谢谢大家了
2010-01-03 00:54
快速回复:请高手帮帮忙编写个程序
数据加载中...
 
   



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

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