| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 609 人关注过本帖
标题:复数类的编写,求全....
只看楼主 加入收藏
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
结帖率:85.71%
收藏
 问题点数:0 回复次数:4 
复数类的编写,求全....
#include <iostream>
using namespace std;
class complex
{
      public:
      complex(){cout<<"调用构造函数"<<endl;}
      complex(int r,int i);
      complex(complex&c);
      void set_c(int r,int i);
      int get_c();
     // void add(complex &c1,complex &c2);       //使用普通函数实现两个复数的相加;
     complex operator +(complex &c1);              //使用重载运算符函数“+”实现两个复数的相加;
     private:
      int real;
      int imag;
};
complex::complex(complex&c)
{
     real=c.real;
     imag=c.imag;
     cout<<"调用复制构造函数"<<endl;
     if(imag>0)
     cout<<real<<"+"<<imag<<"i"<<endl;
     else
     if(imag=0)cout<<real<<endl;
     else
     cout<<real<<imag<<"i"<<endl;
     
}
complex::complex(int r,int i)
{
     real=r;imag=i;
     cout<<"调用带参数的构造函数"<<endl;
     if(imag>0)
     cout<<real<<"+"<<imag<<"i"<<endl;
     else
     if(imag=0)cout<<real<<endl;
     else
     cout<<real<<imag<<"i"<<endl;
     
}
void complex:: set_c(int r,int i)
{
     real=r;
     imag=i;
}
int complex::get_c()
{
    if(imag>0)
     cout<<real<<"+"<<imag<<"i"<<endl;
     else
     if(imag=0)cout<<real<<endl;
     else
     cout<<real<<imag<<"i"<<endl;
     return 0;
}
/*void complex::add(complex &c1,complex &c2)
{
     real=c1.real+c2.real;
     imag=c1.imag+c2.imag;
     if(imag>0)
     cout<<real<<"+"<<imag<<"i"<<endl;
     else
     if(imag=0)cout<<real<<endl;
     else
     cout<<real<<imag<<"i"<<endl;
     
} */
complex complex:: operator +(complex &c1)                       //重载运算符函数“+”函数的定义部分,参数只有一个,原因:默认的第一个操作数                                                            
{
    complex c;                                                  //  本对象,因此只有一个操作数;其他的香类似。。
    c.real=real+c1.real;
    c.imag=imag+c1.imag;  
    return c;
}

int main()
{
    complex c1;
    c1.set_c(2,3);
    c1.get_c();
    cout<<endl<<endl;
    complex c2(c1);
    cout<<endl<<endl;
    complex c3(4,6);
    cout<<endl<<endl;
    complex c4;
    cout<<"复数相加后的结果为:";
   // c4.add(c3,c1);                 //普通add()函数的相加功能;
    cout<<endl<<endl;
    complex c5;
    cout<<"运用重载运算符函数执行的相加功能得出的结果是:";
    c5=c1+c2;                                                             //利用重载运算符函数“+”实现两个复数的相加功能
   
    system("pause");
    return 0;   
}
搜索更多相关主题的帖子: private complex 
2011-06-10 13:48
a373339205
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:30
专家分:134
注 册:2011-6-9
收藏
得分:0 
汗水,复数类的乘法和除法只要根据公式来,在搞个约分的函数就好了
2011-06-10 17:54
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
收藏
得分:0 
回复 2楼 a373339205
额......我知道啊,也会啊,同一类型的都放上去干什么啊

Sharp your mind!
2011-06-10 18:02
a373339205
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:30
专家分:134
注 册:2011-6-9
收藏
得分:0 
那你的求全是求什么全
2011-06-10 18:45
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
收藏
得分:0 
回复 4楼 a373339205
额....只是想把他搞的再具体点,各个形式的参数都有

Sharp your mind!
2011-06-11 07:46
快速回复:复数类的编写,求全....
数据加载中...
 
   



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

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