巨兔12138 发表于 2020-3-30 13:59:53

代码中的函数部分看不懂

#include<iostream>
class Complex   //complex表示“复数”
{
public:
        Complex();
        Complex(double r,double i);
        Complex complex_add(Complex &d);
        void print();
private:
        double real;
        double imag;
};
Complex::Complex()
{
        real = 0;
        imag = 0;
}
Complex::Complex(double r,double i)
{
        real = r;
        imag = i;
}
Complex Complex::complex_add(Complex &d)
{
        Complex c;
        c.real = real + d.real;
        c.imag = imag + d.imag;
        return c;
}
void Complex::print()
{
        std::cout<<”(”<<real<<”,”<<imag<<”i)\n”;
}
int main()
{
        Complex c1(3,4),c2(5,-10),c3;
        c3 = c1.complex_add(c2);
        std::cout<<”c1=”;
        c1.print();
        std::cout<<”c2=”;
        c1.print();
        std::cout<<”c1+c2=”;
        c3.print();
        return 0;
}

有没有大神能给讲一下
Complex Complex::complex_add(Complex &d)函数部分是什么意思...
为什么参数要是d的地址
还有c.real中的“.”是什么意思?
这个函数体是真的看不明白...麻烦大神给详细讲解下,谢谢啦!

BngThea 发表于 2020-3-30 14:10:16

就是将两个复数相加,实部与实部相加,虚部与虚部相加

要高效就用引用传参

c.real不就是c的实部吗

巨兔12138 发表于 2020-3-30 16:50:38

BngThea 发表于 2020-3-30 14:10
就是将两个复数相加,实部与实部相加,虚部与虚部相加

要高效就用引用传参


您说的我都知道,我不清楚的是具体的实现过程。您能给讲一下具体的实现过程吗?

BngThea 发表于 2020-3-30 17:09:25

巨兔12138 发表于 2020-3-30 16:50
您说的我都知道,我不清楚的是具体的实现过程。您能给讲一下具体的实现过程吗?

什么的具体实现过程

巨兔12138 发表于 2020-3-30 20:30:37

BngThea 发表于 2020-3-30 17:09
什么的具体实现过程

就是解释一下main函数中每一步具体是怎么工作的

人造人 发表于 2020-3-30 22:20:50

巨兔12138 发表于 2020-3-30 20:30
就是解释一下main函数中每一步具体是怎么工作的

解释这个问题需要汇编语言,去学习汇编语言
页: [1]
查看完整版本: 代码中的函数部分看不懂