C++ 转换函数 与 4种cast
来源:互联网 发布:用友网络2017最新消息 编辑:程序博客网 时间:2024/04/30 15:39
C++ 转换函数 与 4种cast
转换函数:
C++中挺有意思的一个特性
格式:
operator 转换类型名称()
注意:
(1)返回值固定为重载数据类型
(2)本身不存在返回声明
“转换函数只能是成员函数,无返回值,空参数。
不能定义到void的转换,也不允许转换成数组或者函数类型。
转换常定义为const形式,原因是它并不改变数据成员的值。”
引用自http://blog.csdn.net/xscarlet/article/details/1563656
Talk is cheap!
#include <iostream>using namespace std;class Example{private:double num;public:Example() {num = 0.0;}Example(double s) {num = s;}void show(){cout << num << endl;}operator double () const;operator int () const;};Example::operator double () const{return num + 1.2;}Example::operator int () const{return int(num) + 10;}int main(){Example tt(3.3);cout << double (tt) << endl;cout << int (tt) << endl;return 0;}
转换函数存在的问题:
(1)有的情况下会引起二义性的问题,虽然看起来确实很灵活
(2)与隐式的转换函数产生冲突
4种cast
http://blog.csdn.net/pushfang/article/details/27368715
0 0
- C++ 转换函数 与 4种cast
- CAST与convert转换函数
- sql类型转换函数convert()与cast()
- MySQL CAST与CONVERT 函数类型转换
- mysql类型转换函数convert与cast的用法
- convert与cast函数
- MYSQL 类型转换函数 CAST
- ORACLE类型转换函数 CAST
- CAST的数据类型转换函数
- SQL 函数----->数据类型转换函数 CAST()、CONVERT()
- MySql Cast与Convert函数
- MySql Cast与Convert函数
- sql类型转换函数cast和convert
- SQL转换函数(CAST 和 CONVERT)
- MySQL 数字类型转换函数(concat/cast)
- 数据类型转换函数CAST和CONVERT
- sql数据类型转换(cast() and convent())函数)
- Oracle中的数据类型转换函数 Cast(,)
- cocos2d-x 颜色混合
- hdu1166 敌兵布阵 线段树
- hdu2045-不容易系列之(3)—— LELE的RPG难题
- Java 并发
- iOS应用内购买(In App Purchase)总结
- C++ 转换函数 与 4种cast
- C++编译器关注空格
- 杂记
- Android电话拨打流程源码分析
- viewpager里嵌套listview报错
- C - Wireless Network(8.4.2)
- HDU 2096 小明A+B
- Java写到.txt文件,如何实现换行
- Maven3路程(二)Eclipse集成Maven