• 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运算符名称(参数列表)
    {对运算符重载的处理}
    



  • 相关阅读:
    【35】单层卷积网络(simple convolution)
    【34】三维卷积
    【33】卷积步长讲解(Strided convolutions)
    【32】Padding(填充)原理讲解
    【31】更多的边缘检测方法
    08-----pymysql模块使用
    07-----多表查询
    06-----单表查询
    05-----数据的增删改
    04-----外键的变种 三种关系
  • 原文地址:https://www.cnblogs.com/sxy201658506207/p/7586432.html
Copyright © 2020-2023  润新知