#include <iostream>
using namespace std;
class complex
{
public:complex(){real=0;image=0;}complex(double r){real=r;image =0;}   ///转换构造函数,只有一个形参。将double 转换成complex类型。complex(double r,double i){real=r;image=i;}friend complex operator+(complex &c1,complex &c2);void display();operator double (){return real;}  ///类型转换函数,将complex类型转换成double类型。
private:double real,image;
};complex operator+(complex &c1,complex &c2)
{complex c;c.real=c1.real+c2.real;c.image=c1.image+c2.image;return c;
}
void complex::display()
{cout<<"("<<real<<","<<image<<"i"<<")"<<endl;
}
int main()
{complex c1(1,2),c2(2,3),c3;double x;x=c1+2.5;cout<<"x="<<x<<endl;c3=complex(x);cout<<"c3=";c3.display();c3=c1+c2;c3.display();c3=complex(2.5);c3=c1+c3;cout<<"c3=";c3.display();return 0;
}

转换构造函数与类型构造函数与运算符重载函数相关推荐

  1. C++实现:自定义数组类型实现相关运算符重载

    运算符重载说明 这次我们通过来自定义数组类型重载[].<<.>>.==.!=运算符来学习C++运算符重载相关知识. C++的运算符重载是C++相对于其他编程语言的一大特色. 在 ...

  2. 【C++】之【运算符重载函数】

    /*__________________________________________________________________________________________________ ...

  3. C++ 学习 ::【基础篇:17】:C++ 类与对象:运算符重载介绍、运算符重载函数(类内与类外区别)写法及简单设计实现

    本系列 C++ 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C++ 学习系列将分为三个阶段:基础篇.STL 篇.高阶数据结构与算法篇,相关重点内容如下: 基础篇:类与对象(涉及C++的三大特 ...

  4. C++:运算符重载函数之成员运算符重载函数

    5.2.3 成员运算符重载函数 在C++中可以把运算符重载函数定义为某个类的成员函数,称之为成员运算符重载函数. 1. 定义成员运算符重载函数的语法形式 (1)在类的内部,定义成员运算符重载函数的格式 ...

  5. 10.2 运算符重载函数作为类成员函数和友元函数

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

  6. C++运算符重载函数作为类成员函数和友元函数

    C++运算符重载函数作为类成员函数 1.1成员函数的重载运算符左侧是一个类对象,而且与运算符函数类型相同. 因为必须通过类的对象去调用该类的成员函数,而且只有运算符重载函数和返回值类型相同,运算结果才 ...

  7. C++运算符重载函数

    运算符重载的函数 运算符重载的方法是定义一个"重载运算符的函数",在需要执行被重载的运算符时,系统就自动调用该函数,以实现相应的运算.也就是说,运算符重载是通过定义函数来实现的.运 ...

  8. C++运算符重载函数作为友元函数

    运算符重载函数作为友元函数 在前面的程序例子中对运算符"+"进行了重载,使之能用于两个字符串的相加.在该例中运算符重载函数 operator +(); 作为 my_string类中 ...

  9. C++_类和对象_C++运算符重载_加号运算符重载_实现两个对象相加_对象和int类型相加_通过成员函数重载+号_全局函数重载+号_以及重载_运算符重载函数实现---C++语言工作笔记055

    然后我们再来看,运算符的重载,首先我们来看加号的运算符的重载. 这个的作用是很明显的,比如我们有两个Person对象,p1,p2,如果我们想 p3 = p1+p2能可以嘛,不可以对吧,因为系统给我们提 ...

最新文章

  1. OFDM资料(待总结)
  2. 力扣【下一个更大元素】leetcode-503.下一个更大元素 Ⅱ:单调栈解法+循环数组解法
  3. Spring Bean Scope 有状态的Bean 无状态的Bean
  4. 升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署
  5. 交友软件上的两种网友类型......
  6. paip.提升效率---提升绑定层次--form绑定取代field绑定
  7. InfluxDB安装及使用
  8. mysql 导入百万级数据 几种 java_百万级数据,如何迁移到MySQL?
  9. VIO-为什么要进行在线时间标定
  10. tomcat内存溢出的解决方法(java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError:)...
  11. c 语言tcp实现电子词典项目
  12. 一个小巧好用的Url编解码工具
  13. 为何甲骨文裁员,偏偏要选中国人?
  14. 8~mybatis的动态sql
  15. CANoe CAPL文件操作目录合集
  16. Word转PDF免费的网站——speedpdf在线免费转换器
  17. 关于t00ls的挂机脚本
  18. Echarts 图表不能渲染问题整理
  19. 【我参加NVIDIA Sky Hackathon】感悟篇
  20. Android 基础入门教程--笔记

热门文章

  1. main run方法没用_多线程:解决Runnable接口无start()方法的问题
  2. mysql实验视图及索引_MySQL视图及索引
  3. 计算机算法设计与分析 租用游艇问题
  4. pytorch学习笔记(三十八):Image-Augmentation
  5. mac下使用mysql
  6. git init、git status、git config user.name、git add、git commit、git remote、git push、git clone、git pull
  7. 《火星人敏捷开发手册》 2011-08-18版本发布
  8. 敏捷开发免费管理工具——火星人预览之一:需求与故事树
  9. Unicode 和 UTF-8 之间的关系
  10. mysql5.7设置默认的字符集