题目概述:
定义一个复数类Complex,重载运算符“+”,“-” ,“ * ”,“/”,分别求两复数。
编程:
#include< iostream>
using namespace std;
class Complex
{
private:
double real;
double imag;
public:
Complex() { real = 0; imag = 0; }
Complex(double r, double i) { real = r; imag = i; }
Complex operator+(Complex& c2);
Complex operator-(Complex& c2);
Complex operator*(Complex& c2);
Complex operator/(Complex& c2);
void display();
};
void Complex::display()
{
cout << “(” << real << “,” << imag << “i)” << endl;
}
Complex Complex::operator+(Complex& c2)
{
Complex c;
c.real = real + c2.real;
c.imag = imag + c2.imag;
return c;
}
Complex Complex::operator-(Complex& c2)
{
Complex c;
c.real = real - c2.real;
c.imag = imag - c2.imag;
return c;
}
Complex Complex::operator*(Complex& c2)
{
Complex c;
c.real = real * c2.real;
c.imag = imag * c2.imag;
return c;
}
Complex Complex::operator/(Complex& c2)
{
Complex c;
c.real = real / c2.real;
c.imag = imag / c2.imag;
return c;
}
int main()
{
Complex c1(3, 4), c2(5, -10), c3;
c3 = c1 + c2;
cout << “c3=”;
c3.display();
c3 = c1 - c2;
cout << “c3=”;
c3.display();
c3 = c1 * c2;
cout << “c3=”;
c3.display();
c3 = c1 / c2;
cout << “c3=”;
c3.display();
return 0;
}
上机实践:

C++:对运算符重载相关推荐

  1. c++重载(以运算符重载为主)

    重载(OverLoading)是面向对象程序设计多态性的一种体现.所谓重载,是指"同一标识符"在同一作用域的不同场合具有不同的语义,这个标识符可以是函数名或运算符.也就是说,重载可 ...

  2. groovy–运算符重载

    Groovy支持运算符重载,各种运算符被映射到普通的java对象的方法调用,这就使得开发者可以利用运算符重载的优势来编写自己的Java或者groovy对象. 下面的表格描述了groovy中的操作符所映 ...

  3. c++运算符重载总结

    c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁.高效.在c++中不止函数可以重载,运算符也可以重载.由于一般数据类型间的运算符没有重载的必要, ...

  4. c++重载运算符_C/C++编程笔记:运算符重载丨重载C++中的New和Delete运算符

    new和delete运算符也可以像C ++中的其他运算符一样重载.New和Delete运算符可以全局重载,也可以在特定类中重载. (1)如果使用某个类的成员函数来重载这些运算符,则意味着这些运算符仅针 ...

  5. C++运算符重载形式--成员函数or友元函数?

    1.C++操作符重载形式-成员函数or友元函数 1.对运算符重载,需要坚持四项基本原则: 不可臆造运算符: 运算符原有操作数的个数.优先级和结合性不能改变: 操作数中至少一个是自定义类型: 保持重载运 ...

  6. C++中运算符重载需要遵循的规则

    一.C++中运算符重载需要遵循的规则 1.并不是所有的运算符都可以重载.能够重载的运算符包括: + - * / % ^ & | ~ ! = < > += -= *= /= %= ^ ...

  7. C++中的运算符重载基础

    1.C++中的运算符重载基础 所谓重载,就是赋予新的含义.函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作.运算符重载(Operator Ov ...

  8. C++中的运算符重载

    1.Cpp中的重载运算符和重载函数 C++允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载.重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但 ...

  9. C++搞懂深拷贝初始化=与赋值(运算符重载)=的区别

    C++搞懂深拷贝初始化=与赋值(运算符重载)=的区别 C++构造函数用=与()不完全一样,注意使用=时c++中临时变量不能作为非const的引用参数,不论是=运算符重载还是构造函数,否则可能出现以下错 ...

  10. C++——运算符重载operator

    C++--运算符重载operator C++ prime plus第11章,运算符重载是C++的一种多态.运算符重载格式如下: operator运算符(argument-list) 1.做普通函数重载 ...

最新文章

  1. 保证同一个账号同时只能在一个设备上登录
  2. 一句话说清楚NodeJS中module.exports和exports的区别
  3. rust 案例_理解Rust的引用与借用
  4. 中国汽车产销量负增长 工信部:不见得是坏事 将推新政策
  5. python为何排名越来越前_为何python现在越来越多的人在用了?
  6. [C++STL]C++实现priority_queue容器适配器
  7. oracle 关于归档的视图,oracle 与归档日志相关的几个视图
  8. Win10声音图标呈灰色的解决教程
  9. 勇探计算机城堡教学反思,神秘的城堡教学反思
  10. 编写高质量代码的十个秘诀(转)
  11. 从零开始学php 光盘,从零开始学PHP(第2版)(含DVD光盘1张)
  12. 网站服务器系统组成,linux系统由哪几部分组成_网站服务器运行维护,linux
  13. 让webstorm支持avalon语法自动补全
  14. Flink 在快手实时多维分析场景的应用
  15. 高中数学学习技巧,这几步你都做到了吗?
  16. idea自动删除尾行空格(空行中空格)
  17. Eclipse 代码整理
  18. mac自带工具的抠图方法
  19. 用状态机做人物(AI)的状态切换以及动画效果——人物动画以及切换
  20. python中的函数不包括参数函数_在Python中定义函数时不需要声明函数参数的类型。...

热门文章

  1. 7 个新的热门 IT 工种
  2. xlabel函数--Matplotlib
  3. diff算法_深入剖析Vue源码 - 来,跟我一起实现diff算法!__Vue.js
  4. 长江后浪推前浪,不学SpringBoot就会被拍到沙滩上
  5. matlab上计算闭环极点,线性连续SISO系统极点配置算法的MATLAB实现
  6. 【AAAI 2020】全部接受论文列表(二)
  7. 全面分析RHCE7(红帽认证工程师)考试题目之 ---Firewall(防火墙)篇
  8. 西部数据WD移动硬盘在电脑上不显示盘符解决办法
  9. log4j怎样配置才能打印出执行语句所在的类名及行号
  10. Endnote —— Zotero数据库转换