6-3 复数类

分数 20

全屏浏览题目

切换布局

作者 杨军

单位 四川师范大学

  1. 已知一个名为Complex的复数类,这个类包含:
    (1)私有成员:实部、虚部,且均为int 型
    (2)公有的带默认形参值的构造函数、复制构造函数
    (3)公有成员函数Display,其作用为显示复数
    要求:
    (1)实现满足上述属性和行为的Complex类定义;
    (2)设计函数AddComplex,函数AddComplex功能为实现两个复数相加,要求该函数的形参为复数类的常引用;
    (3)保证如下主函数能正确运行。

裁判测试程序样例:


/* 请在这里填写答案 */ int main(){ int x,y; cin>>x>>y; Complex c0(x,y); Complex c1(c0); cout<<"c1 is: "; c1.Display(); cin>>x>>y; Complex c2(x,y); cout<<"c2 is: "; c2.Display(); Complex c3; c3 = AddComplex(c1,c2); cout<<"c3 is: "; c3.Display(); return 0; }

输入样例:

在这里给出一组输入。例如:

2 -3 
3 4

输出样例:

在这里给出相应的输出。例如:

c1 is: 2-3i
c2 is: 3+4i
c3 is: 5+1i

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

下面给出代码:

#include <iostream>
#include <cstdio>
using namespace std;
class Complex
{
    public:
    int s;
    int x;
    public:
    Complex(int shi=0,int xu=0)//构造函数
    {
        s=shi;
        x=xu;
    }
    Complex(const Complex &c)//拷贝函数
    {
        s=c.s;
        x=c.x;
    }
    void Display()//展示
    {
        if (s!=0)
        {
        if (x>0)
        cout<<s<<'+'<<x<<'i'<<endl;
        else 
        cout<<s<<x<<'i'<<endl;
        }
        else 
        {
            cout<<x<<'i'<<endl;
        }
    }
};

/* 请在这里填写答案 */
Complex AddComplex( Complex &c1, Complex &c2)//自定义函数
{
    Complex c;
    c.s=c1.s+c2.s;
    c.x=c1.x+c2.x;
    return c;                                //与结构体类似,可以直接返回Complex类型
}
/*
int main()
{
    int x,y;
    cin>>x>>y;
        Complex  c0(x,y);
        Complex  c1(c0);
        cout<<"c1 is: "; 
        c1.Display();
        cin>>x>>y; 
        Complex c2(x,y);
        cout<<"c2 is: "; 
        c2.Display();
        
        Complex c3;
        c3 = AddComplex(c1,c2); 
        cout<<"c3 is: "; 
        c3.Display();  
        
        return 0;
}
*/


Logo

欢迎大家加入成都城市开发者社区,“和我在成都的街头走一走”,让我们一起携手,汇聚IT技术潮流,共建社区文明生态!

更多推荐