第九周 任务一 一时失言乱红尘 2022-06-13 12:19 159阅读 0赞 /* 实验内容:定义Complex类中的<<和>>运算符的重载,实现输入和输出。 * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: 定义Complex类中的<<和>>运算符的重载,实现输入和输出 * 作 者: 薛广晨 * 完成日期: 2012 年 4 月 14日 * 版 本号: x1.0 * 对任务及求解方法的描述部分 * 输入描述: * 程序头部的注释结束(此处也删除了斜杠) */ //【任务1】接第8周任务1,定义Complex类中的<<和>>运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然。 #include <iostream> using namespace std; class Complex { public: Complex(){real = 0; imag = 0;} Complex(double r){real = r;imag = 0;}//类型转换函数 Complex(double r,double i){real = r; imag = i;} friend ostream& operator << (ostream &,Complex &); friend istream& operator >> (istream &,Complex &); friend Complex operator+ (Complex c1,Complex c2); friend Complex operator- (Complex c1, Complex c2); friend Complex operator- (Complex &c); friend Complex operator* (Complex c1, Complex c2); friend Complex operator/ (Complex c1, Complex c2); private: double real; double imag; }; //下面定义成员函数 ostream& operator << (ostream &ouput,Complex &c) { ouput << "(" << c.real; if(c.imag >= 0)ouput << "+"; ouput << c.imag << "i)" << endl; return ouput; } istream& operator >> (istream &input, Complex &c) { char c1; cout << "input real part and imaginary part of complex number:"; input >> c.real >> c.imag >> c1; return input; } Complex operator + (Complex c1, Complex c2) {return Complex(c1.real + c2.real, c1.imag + c2.imag);} Complex operator - (Complex c1, Complex c2) {return Complex(c1.real - c2.real, c1.imag - c2.imag);} Complex operator - (Complex &c) { return Complex(-c.real, -c.imag);} Complex operator * (Complex c1, Complex c2) {return Complex(c1.real * c2.real - c1.imag * c2.imag, c1.imag * c2.real + c1.real * c2.imag);} Complex operator / (Complex c1, Complex c2) {return Complex((c1.real * c2.real + c1.imag * c2.imag) / (c2.real * c2.real + c2.imag * c2.imag), (c1.imag * c2.real - c1.real * c2.imag) / (c2.real * c2.real + c2.imag * c2.imag));} int main() { double d = 2.5; Complex c1, c2, c3,c4; cin >> c1; cout << "请再输入一个复数:" << endl; cin >> c2; cout << "c1 = " << c1; cout << "c2 = " << c2; c3 = c1 + c2; cout << "c1 + c2 = " << c3; c3 = c1 + d; cout << "c1 + " << d << "= " << c3; c3 = Complex(d) + c1; cout << d << " + c1" << "= " << c3; c3 = c1 - c2; cout << "c1 - c2 = " << c3; c3 = c1 - d; cout << "c1 - " << d << "= " << c3; c3 = d - c1; cout << d << " - c1" << "= " << c3; c3 = c1 * c2; cout << "c1 * c2 = " << c3; c3 = c1 * d; cout << "c1 * " << d << "= " << c3; c3 = d * c1; cout << d << " * c1" << "= " << c3; c3 = c1 / c2; cout << "c1 / c2 = " << c3; c3 = c1 / d; cout << "c1 / " << d << "= " << c3; c3 = d / c1; cout << d << " / c1" << "= " << c3; c3 = - c1; cout << " -c1= " << c3; system("pause"); return 0; } ![1334401637_9205.jpg][] 上机感言:定义Complex类中的<<和>>运算符的重载,实现输入和输出,使程序简单,可读性强 [1334401637_9205.jpg]: https://img-my.csdn.net/uploads/201204/14/1334401637_9205.jpg
相关 第十周 任务一 / (程序头部注释开始) 程序的版权和版本声明部分 Copyright (c) 2012, 烟台大学计算机学院学生 All rig 川长思鸟来/ 2022年06月13日 13:45/ 0 赞/ 205 阅读
相关 第九周 任务四(改正版) / 实验内容:完成矩阵的输入、输出、加、减、相等判断等操作 程序的版权和版本声明部分 Copyright (c) 2011, 烟 梦里梦外;/ 2022年06月13日 12:49/ 0 赞/ 251 阅读
相关 第九周 任务四 / 实验内容:建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加、减、相等判断等操作。 程序的 ﹏ヽ暗。殇╰゛Y/ 2022年06月13日 12:40/ 0 赞/ 157 阅读
相关 第九周 任务五 / 实验内容:设计一元一次方程类,求形如ax+b=0的方程的解 程序的版权和版本声明部分 Copyright (c) 2011 ゞ 浴缸里的玫瑰/ 2022年06月13日 12:24/ 0 赞/ 187 阅读
相关 第九周 任务三 / 实验内容:定义分数类中<<和>>运算符重载 程序的版权和版本声明部分 Copyright (c) 2011, 烟台大学计算 ゞ 浴缸里的玫瑰/ 2022年06月13日 12:24/ 0 赞/ 192 阅读
相关 第九周 任务二 / 实验内容:定义Time类中的<<和>>运算符重载 程序的版权和版本声明部分 Copyright (c) 2011, 烟台大学 柔情只为你懂/ 2022年06月13日 12:23/ 0 赞/ 165 阅读
相关 第九周 任务一 / 实验内容:定义Complex类中的<<和>>运算符的重载,实现输入和输出。 程序的版权和版本声明部分 Copyright 一时失言乱红尘/ 2022年06月13日 12:19/ 0 赞/ 160 阅读
相关 第八周 任务一 / 实验内容:实现复数类中的运算符重载定义一个复数类重载运算符+、-、、/,使之能用于复数的加减乘除。 程序的版权和版本声明部分 小灰灰/ 2022年06月13日 10:19/ 0 赞/ 207 阅读
相关 第七周 任务一 / 实验内容:含有静态数据成员和成员函数的Time类:类中所有的对象共有的数据 程序的版权和版本声明部分 Copyright 旧城等待,/ 2022年06月13日 08:48/ 0 赞/ 222 阅读
相关 第六周 任务一 //【任务1】下面的程序存在编译错误。有两种方法可以修改,请给出这两种修改方案,在报告中说明你倾向于用哪一种?为什么?处理此类问题的原则是什么? /实验目的: 比眉伴天荒/ 2022年06月13日 06:49/ 0 赞/ 194 阅读
还没有评论,来说两句吧...