#include<iostream>
#include<cmath>
using namespace std;
class complex //创建一个复数类
{
private:
int real, image;
double model;
public:
complex(); //无参构造函数(默认)
complex(int r, int i); //2参构造函数
~complex() //析构函数,顺序与构造函数相反,无参数和返回类型
{
cout << "~complex():" << real<<"+"<<image<<"i" << endl;
}
void Setr(int r = 1) { real = r; };//建立改写实部的接口
void Seti(int r = 1) { image = r; };//建立改写虚部的接口
void Setall(int r = 1, int i = 1) { real = r; image = i; };//建立同时改写实部虚部的接口
int Readr() { return real; };//建立读取实部的接口
int Readi() { return image; };//建立读取虚部的接口
double Readmod() //建立求模函数
{
model = sqrt(real*real + image * image);
return model;
};
complex add(complex c)//类外声明用::
{
complex temp;
temp.real = real + c.real;
temp.image = image + c.image;
return temp;
}
complex sub(complex c)
{
complex temp;
temp.real = real - c.real;
temp.image = image - c.image;
return temp;
}
};
complex::complex()
{
real = 1; image = 1;
cout << "complex() " << real << "_" << image << endl;
};
complex::complex(int r, int i)
{
real = r; image = i;
cout << "complex(int ,int ):" << real << "_"<<image << endl;
};
int main()
{
complex c1, c2(2,5);
c1.Setall(1,1);
cout << c1.Readmod() << endl;
c2.Seti(6);
cout << c2.Readi ()<< endl;
c2=c2.add(c1);
cout << c2.Readi() << endl;
return 0;
}
复数类的示例(有求模过程)
最新推荐文章于 2021-12-30 18:49:38 发布