C++面向对象高级编程(下) 第一周
Conversion Function 转换函数
你现在设计一个对象 class A,它可不可以被转为另外一种类型,这就是一种转换。或者是,另外一种类型可不可以转为A。一个是转出去,一个是转进来,这两个方向,我们都要谈。
现在首先谈的是转出去:
1、转化函数不可以有参数。转换类型而已,那有什么参数可言。
2、转化函数没有返回类型,返回类型就是operator后面的double。他也没有参数。
3、这种转化函数通常会加上const,因为并没有改变值,如上图黄色的那块函数。不写也不会报错,但是以后的情况有可能会出错。
4、转换函数可以写任何一个type都可以,不一定是基本类型,只要编译器认得就可以。
5、对于上面的调用(),编译器会先去找一个有没有“+”重载,重载函数的两个参数里面一个是int型,一个是fraction类型。编译器没找到,所以就看看有没有转换函数,把f转成double型,于是就找到了上图中黄色的函数。
任何一个class,只要你认为合理,你都可以写很多个转换函数。
未完待续 2018.11.24
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
C++面向对象高级编程(上) 第三周 侯捷 类与类之间的关系
Composition(复合)——has a 类中有类 Adapter(一种设计模式名) 例如:queue里面包含了deque,他通过调用deque的函数来实现增加的功能。 所有的功能都在的deque中完成了,queue想拥有deque的功能,就这么做。 queue里面,只实现了调用个deque的功能,并没有实现deque的全部功能。 并不是所有的复合都长成这样,我们这里是用adapter(一种设计模式)来讲而已。 Composition从内存的角度看 看中间那个矩形(deque),他里面有两个Itr对象,一根指针和一个unsigned int类型的整数,因此他的大小是16*2+4+4=40字节(因为Itr对象(右一矩形)中有四根指针,所以大小为16字节)。 再看左侧的queue类,由于他里面只包含一个deque类的对象,因此queue的大小也是40. Composition(复合)关系下的构造和析构函数 构造的过程中——由内而外的构造 container的构造函数先调用component的默认的构造函数,如果你希望调用别的构造函数,你需要自己写调用的构造函数以及函数里面的...
- 下一篇
你真的知道Python的字符串怎么用吗?
正如《你真的知道Python的字符串是什么吗?》所写,Python 中字符串是由 Uniocde 编码的字符组成的不可变序列,它具备与其它序列共有的一些操作,例如判断元素是否存在、拼接序列、切片操作、求长度、求最值、求元素的索引位置及出现次数等等。 除此之外,它还有很多特有的操作,值得我们时常温故学习,所以,今天我就跟大家继续聊聊字符串。 本文主要介绍 Python 字符串特有的操作方法,比如它的拼接、拆分、替换、查找及字符判断等使用方法,辨析了一些可能的误区。最后,还做了两个扩展思考:为什么 Python 字符串不具备列表类型的某些操作呢,为什么它不具备 Java 字符串的一些操作呢?两相比较,希望能帮助你透彻地理解——Python 的字符串到底怎么用? 0. 拼接字符串 字符串的拼接操作最常用,我专门为这个话题写过一篇《详解Python拼接字符串的七种方式》,建议你回看。 在此,简单回顾一下:七种拼接方式从实现原理上划分为三类,即格式化类(%占位符、format()、template)、拼接类(+操作符、类元祖方式、join())与插值类(f-string),在使用上,我有如下建议...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装