码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-04-25 12:15:30      阅读:122      评论:0      收藏:0      [点我收藏+]

标签: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;
}


技术分享


技术分享


技术分享


技术分享



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

标签:c++   构造函数   拷贝构造   

原文地址:http://blog.csdn.net/zhaoyaqian552/article/details/45268895

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!