运算符重载实例

原创 2012年03月25日 15:33:25
//定义复数类的运算符重载
#include <iostream>
using namespace std;
class Complex
{
public:
	Complex() { real=0; imag=0; }
	Complex ( double r, double i )  { real=r; imag=i; }
    Complex operator + (Complex &c1);
    Complex operator - (Complex &c1);
	//Complex operator * (Complex &c1);
	//Complex operator / (Complex &c1);
	void display();
private:
	double real;
	double imag;
};
Complex Complex::operator + (Complex &c1)
{
	Complex c;
	c.real=real+c1.real;
	c.imag=imag+c1.imag;
	return c;
}
Complex Complex::operator - (Complex &c1)
{
	Complex c;
	c.real=real-c1.real;
	c.imag=imag-c1.imag;
	return c;
}
void Complex::display()
{
	cout<<"("<<real<<","<<imag<<"i)"<<endl;
}
int main()
{
	Complex c(3,4),c1(2,5),c2,c3;
	c2=c+c1;
	c3=c-c1;
	cout<<"c+c1=";
	c2.display();
	cout<<"c-c1=";
	c3.display();
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

运算符重载实例

  • 2014-01-26 20:31
  • 817B
  • 下载

运算符重载分析与实例

运算符重载时的几个关键点: 1. 首先,运算符重载不会改变运算符的优先级和结合性。 2. 运算符的重载不能改变运算符的运算对象数。因此,重载函数的形参个数(包括成员函数的隐式指针this)...

i++ 和 ++i 效率的分析以及自定义类型的自增/自减运算符重载实例

我们通常在写for循环 的时候,要实现变量 i 的自增 1 ;往往会在i++ 和++i中随便挑一种写,对于i++和++i的理解,我们往往停留在返回的值的不同,其实i++与++i在实现效率上也有一定的不...
  • leo115
  • leo115
  • 2012-10-23 10:50
  • 3454

谭浩强版C++课本实例 第四章 运算符重载

//4.1通过函数来实现复数的相加(没用运算符的重载) #include  using namespace std; class Complex { public: Complex(){real=0;...

C++运算符重载讲解与经典实例

C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作。例如: class complex {  public:   complex...

C++运算符重载讲解与经典实例(转自千里冰封网友)

C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作。例如:  class complex  {   public:    complex...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)