C++:随笔7—运算符重载

  • Post author:
  • Post category:其他


当我们进行a+b操作时,他返回的是a-b。

例子:实现复数的加法。

//用C++类的方法实现复数加法
#include<string>
#include<iostream>

class Plus//定义一个复数类
{
public:
	//构造函数有两种情况,一种是对这个类有初始化;另一种是没有初始化(没有初始化的话把他们都赋值为0)
	Plus();
	Plus(double r,double i);
	virtual ~Plus();//析构函数
	Plus add(Plus &d);//这个方法是实现复数加法的方案,函数返回值是一个类
	void printf();
private:
	double real;//实步
	double imag;//虚步
};
Plus::Plus()
{
	real = 0;
	imag = 0;
}
 Plus::Plus(double r, double i)//如果有初始化的话把两个参数赋值进两个变量里边
{
	 real = r;
	 imag = i;
}
 Plus::~Plus()
 {
 
 }
 Plus Plus::add(Plus &d)//参数就是被加数
 {
	 Plus c;//实例化一个复数类c
	 c.real = real + d.real;//把参数提取进来跟我自身的一个加数(自身的话因为是已经被主函数传进来的对象进行初始化了),使他们两个的实部相加
	 c.imag = imag + d.imag;
	 return c;
 }
 void Plus::printf()
 {
	 std::cout << "(" << real << "," <<imag<< "i)" << std::endl;
 }
int main()
{
	Plus p0(6,



版权声明:本文为m0_37957160原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。