zoukankan      html  css  js  c++  java
  • 10.1 分别通过函数和重载运算符来实现复数相加

    #include <iostream>
    using namespace std;
    class Complex
    {
    public:
    	Complex(){real=0;imag=0;}
    	Complex(int r,int i)
    	{
    		real=r;
    		imag=i;
    	}
    	Complex complex_add(Complex &c2)//复数相加函数
    	{
    		Complex c;
    		c.real=real+c2.real;
    		c.imag=imag+c2.imag;
    		return c;
    	}
    	void display();
    private:
    	int real,imag;
    };
    void Complex::display()
    {
    	cout<<'('<<real<<','<<imag<<"i)"<<endl;
    }
    int main()
    {
    	Complex c1(3,4),c2(-5,10),c3;
    	c3=c1.complex_add(c2);
    	cout<<"c1=";
    	c1.display();
    	cout<<"c2=";
    	c2.display();
    	cout<<"c1+c2=";
    	c3.display();
    	return 0;
    }
    

    #include <iostream>
    using namespace std;
    class Complex
    {
    public:
    	Complex(){real=0;imag=0;}
    	Complex(int r,int i)
    	{
    		real=r;
    		imag=i;
    	}
    	Complex operator+(Complex &c2)//重载运算符的函数,用于复数相加
    	{
    		Complex c;
    		c.real=real+c2.real;
    		c.imag=imag+c2.imag;
    		return c;
    	}
    	void display();
    private:
    	int real,imag;
    };
    void Complex::display()
    {
    	cout<<'('<<real<<','<<imag<<"i)"<<endl;
    }
    int main()
    {
    	Complex c1(3,4),c2(-5,10),c3;
    	c3=c1+c2;//系统自动调用c1.operator+(c2)来完成c1+c2;
    	cout<<"c1=";
    	c1.display();
    	cout<<"c2=";
    	c2.display();
    	cout<<"c1+c2=";
    	c3.display();
    	return 0;
    }
    重载运算符函数的一般格式如下:
    函数类型 operator运算符名称(参数列表)
    {对运算符重载的处理}
    



  • 相关阅读:
    网页色彩搭配
    jquery富文本在线编辑器UEditor
    编写、部署、应用JavaBean
    图片存储构架学习
    JVM内存管理(一)
    同步or异步
    分库分表策略的可实现架构
    百万数据查询优化技巧三十则
    匿名内部类
    MySQL limit分页查询优化写法
  • 原文地址:https://www.cnblogs.com/sxy201658506207/p/7586432.html
Copyright © 2011-2022 走看看