C++自定义隐式转换函数
来源:互联网 发布:夜神模拟器mac版问题 编辑:程序博客网 时间:2024/06/15 00:50
转载自:http://www.cnblogs.com/younes/archive/2010/03/08/1681115.html
C++中单参数构造函数若不声明为explict,在合适的场合可以产生隐式转换:由成员变量类型转换为类类型。
下面的代码展示如何实现反向的转换:
void changeFontSize(FontHandle f, int newsize);class Font{public: operator FontHandle() const //隐式转换函数 { return f; }private: FontHandle f;};Font f;int newsize;changeFontSize(f, newsize); //将Font隐式转换成FontHandle
另外,两个或更多参数的non-explicit构造函数,如果所有形参都提供了默认实参,那么在需要一个类类型对象的表达式位置,提供一个first形参类型的对象,编译器也执行隐式转换,转换得到一个类对象。如,构造函数Rational(int num1 = 0, int num2 = 1); Rational类中重载了operator*。表达式result = oneHalf * 2; 2发生隐式转换为Rational对象。result 和 onehalf为Rational对象。
0 0
- C++自定义隐式转换函数
- C语言 - 自定义大小写字符转换函数的实现
- sql 转换 自定义函数
- 自定义类型转换函数
- c++:explicit 抑制构造函数隐式转换
- C语言-自定义函数,及其调用;函数返回值类型的自动转换,即其数量;
- C 自定义输入函数
- 数据类型转换与自定义函数
- c 字符串转换函数
- C类型转换函数
- c++-转换构造函数
- 【c/c++】转换构造函数
- c语言自定义函数大全
- C语言中自定义函数
- db2 编译C 自定义函数
- Linux C 自定义延时函数
- 74 C语言自定义函数
- C常用自定义函数集锦
- 关于non-blocking
- 清除缓存,计算缓存大小
- apache vs tomcat
- 正向代理与反向代理
- Java运行时异常
- C++自定义隐式转换函数
- WAR JAR & EAR
- bio中储存私有数据
- c语言 解决汉诺塔问题
- object references an unsaved transient instance - save the transient instance before flushing:
- 5种开源虚拟化技术推荐
- automake autoconf学习笔记
- Electric Power System simulations using R
- shell十三问之3:别人echo、你也echo,是问echo知多少?