m0_69089899 2022-04-29 15:57 采纳率: 100%
浏览 225
已结题

定义复数类(Complex)

C++ 编写程序 :包含必要的构造函数和析构函数,重载乘法赋值运算符“*=”实现复数与整数、复数与复数之间的乘法运算,自行举例并按照如下格式输出计算结果。(要求使用转换构造函数把整数转换为复数后进行计算)。
输出格式示例:

img

##怎么把输入的整数转为复数?
##这里的构造函数和析构函数有什么作用(真的不太理解)🙏

  • 写回答

3条回答 默认 最新

  • 关注

    代码及运行结果如下:

    img

    #include <iostream>
    using namespace std;
    class Complex
    {
    public:
        int real;
        int image;
    public:
        Complex(int r, int i)
        {
            real = r; image = i;
        }
        Complex(int r)
        {
            real = r; image = 0;
        }
        Complex()
        {
            real = 0; image = 0;
        }
    
        ~Complex()
        {
            //do nothing
        }
        Complex operator *= (const Complex Right) 
        {
            int a = real, b = image;
            real = a * Right.real - b * Right.image;
            image = b * Right.real + a * Right.image;
            return *this;
        }
    
        Complex operator *= (const int n) 
        {
            Complex t(n, 0);
            *this *= t;
            return *this;
        }
        friend void print(Complex comp);
    
    };
    
    
    void print(Complex comp)
    {
        cout << comp.real;
        if (comp.image < 0)
            cout << comp.image << "i" << endl;
        else if (comp.image > 0)
            cout <<"+" << comp.image << "i" << endl;
    }
    
    int main()
    {
        Complex c1(2, 3);
        Complex c2(2, 3);
        
        
        //显示C1
        print(c1);
    
        //与int类型相乘
        c1 *= 5;
        print(c1);
    
        
        //与复数相乘
        Complex t(4, 5);
        c2 *= t;
        print(c2);
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月7日
  • 已采纳回答 4月29日
  • 修改了问题 4月29日
  • 创建了问题 4月29日

悬赏问题

  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?