C++第四章函数

6-1 使用成员函数重载复数类的运算符+

类Complex声明了一个复数类,有两个数据成员realPart(代表复数的实部)和imgPart(代表复数的虚部),并定义了成员函数实现了重载运算符“+”以实现两个复数对象的相加操作。成员函数Show用来输出复数的实部和虚部。请完成对运算符“+”的重载操作。

函数接口定义:

Complex& Complex::operator+(Complex& com);

参数com为复数类Complex的对象的引用,函数的返回值为当前对象与com对象相加后的值。

裁判测试程序样例:

#include<iostream>

using namespace std;

class Complex {

public:

    Complex(double realPart = 0, double imgPart = 0) {

        this->realPart = realPart;

        this->imgPart = imgPart;

    }

    Complex& operator+(Complex& com);

    void Show() {

        cout << realPart << " " << imgPart << endl;

    }

private:

    double realPart, imgPart;

};

int main() {

    int r1, i1;            //第1个复数对象的实部和虚部

    int r2, i2;            //第1个复数对象的实部和虚部

    cin >> r1 >> i1;

    cin >> r2 >> i2;

    Complex c1(r1, i1);    //构造第1个复数对象c1

    Complex c2(r2, i2);    //构造第2个复数对象c2

    c1 = c1 + c2;

    c1.Show();

    return 0;

}

/* 你的代码将被嵌在这里 */

输入样例:

3 4

10 20

输出样例:

13 24

参考答案

Complex& Complex::operator+(Complex& c1) {

    c1.realPart += this->realPart;

    c1.imgPart += this->imgPart;

    return c1;

}

6-2 复数的加法*

作者 李祥

单位 湖北经济学院

请设计复数类COMPLEX,实现复数的输入、输出和加法运算。

#include <iostream>

#include <iomanip>

using namespace std;

/* 你提交的代码将被嵌在这里 */

int main()

{

    COMPLEX a, b, c;

    cin >> a >> b;

    c = a + b;

    cout << c << endl;

    return 0;

}

输入样例

3.2+4.9i

2.5-7.3i

输出样例

5.7-2.4i

要求:

  • 设计构造函数,达到以下效果。

COMPLEX a;cout << a << endl; // 输出: 0+0i

COMPLEX a(3);cout << a << endl; // 输出: 3+0i

COMPLEX a(3, 4);cout << a << endl; // 输出: 3+4i

  • 重载输出运算符函数,达到以下效果。

COMPLEX a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值