C++ 用运算符重载 实现复数相加

#include "stdafx.h"
#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 &c2);
    void display();
private:
    double real;
    double imag;
};

Complex Complex :: operator+(Complex &c2)
{
    Complex c;
    c.real = real + c2.real;
    c.imag = imag + c2.imag;
    return c;
}

void Complex::display()
{
    cout<<"}"<<real<<","<<imag<<"i)"<<endl;
}

int _tmain(int argc, _TCHAR* argv[])
{
    Complex c1(3,4),c2(5,-10),c3;
    c3 = c1 + c2;
    cout<<"c1="; c1.display();
    cout<<"c2="; c2.display();
    cout<<"c1+c2="; c3.display();
    return 0;
}

原文地址:https://www.cnblogs.com/wu1f/p/8877300.html

时间: 2024-08-30 13:16:26

C++ 用运算符重载 实现复数相加的相关文章

通过运算符重载实现复数运算

#include<iostream> using namespace std; class Complex { public: // 带缺省值的构造函数 Complex(double real = 0, double image = 0) { cout << "带缺省值的构造函数" << endl; _real = real; _image = image; } // 析构函数 ~Complex() { cout << "析构函

C++运算符重载详解

1.什么是运算符重载 运算符重载是一种函数重载. 运算符函数的格式:operatorop(argument-list)例如,operator+()重载+运算符.其中的op,必须是有效的C++运算符,如[email protected]()会报错,因为C++中没有@运算符. 2.重载运算符的使用 如下例所示: class Test { public: Test operator+(Test &test); } 调用运算符函数的方式有两种:Test t1;Test t2;1)普通函数调用Test t

C++ Complex + - += -+ &lt;&lt;运算符重载

/* 提供了加减运算符重载的复数类头文件.关于传递引用和传递值,使用const 和不使用const,关于指针成员的使用需要继续学习...同理可以写出乘除法,共轭复数,绝对值, 等其他运算符重载. */ #ifndef _COMPLEX_H_#define _COMPLEX_H_#include<iostream>using namespace std;class Complex{public: //构造函数 Complex(double r = 0, double i = 0):re(r),

复数类的相关运算(判断大小及四则运算)-&gt;(构造,析构,拷贝复制,运算符重载)

问题描述: 创建一个Plural(复数)的class类,不借助系统的默认成员函数,在类体中写入构造函数,析构函数,拷贝复制函数以及运算符重载函数.并依次实现复数的大小比较(bool)和复数的四则运算(+,-,*,/). #include<iostream> using  namespace std; class Plural { public: void  Display() { cout << "Real->:" << _real; cout

复数中的运算符重载(续)

输入代码: /* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:sum123.cpp *作 者:林海云 *完成日期:2015年5月11日 *版 本 号:v2.0 * *问题描述:在复数类中的运算符重载基础上 (1)再定义一目运算符 -,-c相当于0-c. (2)定义Complex类中的<<和>>运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然. *程序输入:按要求输入两个复

第八周 项目一-复数类中的运算符重载(3)完整产品

定义一个定义完整的类(是可以当作独立的产品发布,成为众多项目中的"基础工程").这样的类在(2)的基础上,扩展+.-.*./运算符的功能,使之能与double型数据进行运算.设Complex c; double d; c+d和d+c的结果为"将d视为实部为d的复数同c相加",其他-.*./运算符类似 /* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:冷基栋

C++复数运算符重载(+与&lt;&lt;)

Description 定义一个复数类Complex,重载运算符"+",使之能用于复数的加法运算与输出操作.(1)参加运算的两个运算量可以都是类对象,也可以其中有一个是实数,顺序任意.例如,c1+c2,d+c1,c1+d均合法(设d为实数,c1,c2为复数).(2)输出的算数,在复数两端加上括号,实部和虚部均保留两位小数,如(8.23+2.00i).(7.45-3.40i).(-3.25+4.13i)等.编写程序,分别求两个复数之和.整数和复数之和,并且输出. 请在下面的程序段基础上完

【C++】复数的运算符重载

运算符重载的定义: 用户对于自定义类型的运算操作,例如复数的运算.需要重新定义运算符号(创建函数). 除了类属关系运算符".".成员指针运算符".*".作用域运算符"::".sizeof运算符和三目运算符"?:"以外,C++中的所有运算符都可以重载. 复数的运算符重载如下: <span style="font-size:18px;"> #include<iostream> #incl

sdut 4-1 复数类的运算符重载

4-1 复数类的运算符重载 Time Limit: 1000MS Memory limit: 65536K 题目描述 通过本题目的练习可以掌握成员运算符重载及友元运算符重载 要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(<<)以方便输出一个复数的要求. 输入 要求在主函数中创建对象时初始化对象的值. 输出 输出数据共有4行,分别代表a,b的值和它们求和.求差后的值 示例输入 无 示例输出 a=3.2+4.5i b=8.9+5.6i a+b=12.1+10.1i