【c++】实现一个复数类

// 实现一个复数类(complex)
//要求:1:实现不带参 / 带参数 /带默认参数的几种构造函数。
//      2:实现拷贝构造 / 析构函数。

#include <iostream>
using namespace std;

// 带参数的构造函数
class complex
{
	private:
		double _real;
		double _image;
	public:
		void print();
		complex(double _r, double _i);
		~complex();
};

complex::complex(double _r, double _i)
{
	_real = _r;
	_image = _i;
	cout<<"the parameterless constructor"<<endl;
}

/* 不带参数的构造函数
class complex
{
	private:
		double _real;
		double _image;
	public:
		void print();
		complex();
		~complex();
};

complex::complex()
{
	_real = 0;
	_image = 0;
	cout<<"with no arguments constructor"<<endl;
}*/

/* 带默认参数的构造函数
class complex
{
	private:
		double _real;
		double _image;
	public:
		void print();
		complex(double _real = 0,double _image = 0);
		~complex();
};

complex::complex(double _r, double _i)
{
	_real = _r;
	_image = _i;
	cout<<"with the default constructor"<<endl;
}*/

/* 拷贝构造
class complex
{
	private:
		double _real;
		double _image;
	public:
		void print();
		complex(double _r, double _i)
		{
			_real = _r;
			_image = _i;
		}
		complex(complex const & comple);
		~complex();
};

complex::complex(complex const & comple)
{
	_real = comple._real;
	_image = comple._image;
	cout<<"copy structure"<<endl;
}*/

complex::~complex()
{
	cout << "destructor" << endl;
}

void complex::print()
{
	cout << "复数是:" << _real << "+" <<_image << "i" << endl;
}

int main()
{
	double a, b;
	//double a;
	cout << "请输入两个数:";
	cin >> a >> b;
	//cin >> a;
	//complex comp(a);
	complex comp(a,b);
	//complex comp(1, 2);
	//complex comp;
	//complex comp1(comp);
	comp.print();
	//comp1.print();
	return 0;
}

时间: 2024-07-29 16:50:54

【c++】实现一个复数类的相关文章

C++ 声明并实现一个复数类

<pre name="code" class="cpp">/****************************************************************************************** complex.hpp: Copyright (c) Bit Software, Inc.(2013), All rights reserved. Purpose: 声明并实现一个复数类 难度:** Author:

c++primer,自定义一个复数类

1 #include<iostream> 2 #include<string> 3 #include<vector> 4 #include<algorithm> 5 #include<cstdio> 6 #include<complex> 7 using namespace std; 8 9 class Complex{ 10 //复数为直角坐标形式,a+bj 11 private: 12 double real; 13 double

C++习题 复数类--重载运算符+,-,*,/

Description 定义一个复数类Complex,重载运算符"+","-","*","/",使之能用于复数的加.减.乘.除.运算符重载函数作为Complex类的成员函数.编写程序,分别求两个复数之和.差.积和商. Input 两个复数 Output 两个复数之和.差.积和商 Sample Input 3 4 5 -10 Sample Output c1+c2=(8.00,-6.00i) c1-c2=(-2.00,14.00

【C++】复数类的实现

复数类的实现: 这个是以前学习的补全,记录一下吧. 复数类本身概念是具备一个实部_real和虚部_image,然后实现复数的加减乘除,自加自减还有等于符号的重载.算是一个基本的联系吧. 废话不多说,看看代码,很简单. Complex_class.h #include <iostream> #include <math.h> using namespace std; class Complex { private: double _real; double _imag; public

sdut 4-1 复数类的运算符重载

4-1 复数类的运算符重载 Time Limit: 1000MS Memory limit: 65536K 题目描述 通过本题目的练习可以掌握成员运算符重载及友元运算符重载 要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(<<)以方便输出一个复数的要求. 输入 要求在主函数中创建对象时初始化对象的值. 输出 输出数据共有4行,分别代表a,b的值和它们求和.求差后的值 示例输入 无 示例输出 a=3.2+4.5i b=8.9+5.6i a+b=12.1+10.1i

C++习题 复数类--重载运算符2+

Description 定义一个复数类Complex,重载运算符"+",使之能用于复数的加法运算.参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意.例如,c1+c2,i+c1,c1+i均合法(设i为整数,c1,c2为复数).编写程序,分别求两个复数之和.整数和复数之和. Input 两个复数 一个复数和一个整数 一个整数和一个复数 Output 两个复数之和.复数和整数之和,整数和复数之和. Sample Input 3 4 5 -10 3 4 5 5 3 4 Sa

简易复数类

[问题描述] 定义一个复数类,并重载运算符,以实现复数的加减乘除,相等与否,并显示其结果. [代码实现] // code.c #include <iostream> using namespace std; class Comoplex { friend ostream& operator<<(ostream& os ,const Comoplex& c); //友元 public: Comoplex(double real = 0.0, double im

4-1复数类的运算符重载(SDUTOJ2677)

http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2677&cid=1275 题目描述 通过本题目的练习可以掌握成员运算符重载及友元运算符重载 要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(<<)以方便输出一个复数的要求. 输入 要求在主函数中创建对象时初始化对象的值. 输出 输出数据共有4行,分别代表a,b的值和它们求和.求差后的值 示例输入 无 示例输出 a=3.2+4.5i b=8.9+5.6i

复数类的实现

复数类的默认成员函数的实现.加减乘除,自增,自减的实现. #include<iostream> using namespace std; class Complex { public: //显示 void Display() { cout<<_real<<"+"<<_image<<"i"<<endl; } //构造函数 Complex(double x=0.0,double y=0.0) { _