Complex 类的实现

编写复数类Complex,使得代码能够工作:

代码:

#include<iostream>
#include<cmath>
using namespace std;
class Complex{
    public:
    Complex(double newrl=0,double newim=0) ;//默认值不能丢。
    Complex(Complex &c2);
    void add(Complex c2);
    void show();
    double qumo();
    private:
        double imaginary,real;
};
Complex::Complex(double newrl,double newim){
    real=newrl;
    imaginary=newim;
}
Complex::Complex(Complex &c2){
    real=c2.real;
    imaginary=c2.imaginary;//复制函数。
}
void Complex::add(Complex c)
{
    real+=c.real;
    imaginary+=c.imaginary;//另一种形式的加法。
}
double Complex::qumo(){
    double mo;
    mo=sqrt(real*real+imaginary*imaginary);
    return mo;
}//取模的实现。
void Complex::show(){
    cout<<real<<"+"<<imaginary<<"i"<<endl;
}
int main(){
    Complex c1(3,5);
    Complex c2(4.5);
    Complex c3(c1);
    c1.add(c2);
    c1.show();
    c3.show();
    cout<<c1.qumo()<<endl;
    return 0;
}

图片:

类的实现需要根据实际求来做,先理清要求,再分别考虑函数的实现,最后再加以整合。对于类,如果不理解可以将它强行看做和int,double相似的类型,对比着使用,便会简单许多。

原文地址:https://www.cnblogs.com/lszz/p/10628290.html

时间: 2024-10-30 07:43:19

Complex 类的实现的相关文章

Complex 类的基本函数

//  Complex 类的基本函数 #include<iostream> using namespace std; class Complex { public : Complex(double real=1.0,double image=2.0)//构造函数  (有参) 调用2次拷贝构造 { _real=real; _image=image; } Complex()  //构造函数  (无参) {       _real=1.0;       _image=2.0; } 亦可写成: Com

std::complex类conj

std::conj(std::complex) std::conj(std::complex)用来计算complex的共轭部分,通过相反虚部的标识. example: 1 #include <iostream> 2 #include <complex> 3 4 int main() 5 { 6 std::complex<double> z(1,2); 7 std::cout << "The conjugate of " <<

设计、定义并实现Complex类

实验结论 Complex类 Code: #include<iostream> #include<cmath> #include<cstdlib> using namespace std; class Complex { public: Complex(double newr = 0, double newi = 0); Complex(Complex &c1); void add(Complex c1); void show(); double mod(); p

课堂小练习: 设计、定义并实现complex类

#include<iostream> #include<cmath> using namespace std; class complex{ public: complex(double real0=0,double imaginary0=0); complex(complex &p); void add(complex); void qiumo(); void show(); private: double real; double imaginary; }; compl

complex类

#include<iostream> #include<cmath> using namespace std; class complex{ public: complex(double a,double b=0); complex(complex &p); void show(); void madd(complex q); double mod(); private: double zhen; double xu; }; complex::complex(double

课堂小练习(complex类)

定义一个复数类Complex,使得下面的代码能够工作: Complex c1(3,5);     //用复数3+5i初始化c1: Compex c2=4.5;      //用实数4.5初始化c2 c1.add(c2);              //将c1与c2相加,结果保存在c1中 c1.show();               //将c1输出(这时的结果应该是7.5+5i) cout<<c1.mod()      //c1.mod()对c1进行取模运算 1 #include <i

complex类 序列化时 IsRequired = true 问题

最近项目使用xpo作为数据底层, 需要在webservice中通信(传参和返回)直接使用xpo,则需要改造xpo类,自己实现IXmlSerializable接口. webservice客户端引用后, 调用时候发对象中的字符串类型的值不能为空,因为引用webservice生成的类字段上加了一个属性 [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, IsRequired=true)] 导致字段不能为空,

Complex 类

#include<iostream> #include<math.h> using namespace std; class Complex { public: Complex(double a, double b); Complex(double a) { real = a; i = 0; } Complex(Complex&p); void add(Complex a); void show(); double mod(); private: double real;

Complex类的实现

#include<iostream> #include<cmath> using namespace std; class complex{ public: complex(double a,double b=0); complex(complex &p); void show(); void madd(complex q); double mod(); private: double real; double imag; }; complex::complex(doubl