c++中什么是类的隐式转换?
c++中什么是类的隐式转换?如题,本人c++小白一枚,c语言基础有,请用较为浅显的说明解释一下,谢谢!另外,我在一些资料中看到解释类的隐式转换的时候在该类的内部构建了两个...
c++中什么是类的隐式转换?如题,本人c++小白一枚,c语言基础有,请用较为浅显的说明解释一下,谢谢!另外,我在一些资料中看到解释类的隐式转换的时候在该类的内部构建了两个和类同名的构造函数,这是为何?谢谢
展开
1个回答
展开全部
1、显式专换是定义让这个值类型转换成要用的值类型,例,定义int
i=5,想把他专换成char类型,就用显式转换(char)i。隐式转换是系统跟据程序需要而自动转换的,不需要定义,但并不是所有值类型都可以互相转
换,所以有了显式转换。例,int i=5; char j='a'; int n=i+j;因char可以隐式专换为int类型,所以结果n=102。
2、c方式类型转换:(target_type)(value),如int i = 5; char c = (char)(i);
c++方式类型转换:方式有4种
static_cast类似c语言的类型转换
dynamic_cast继承体系直接引用和指针直接的转换
const_cast常量转换,常量转换成非常量,非常量转换成常量
reintepret_cast重新解释转换,重新解释数值的含义,如int转换成char*等
i=5,想把他专换成char类型,就用显式转换(char)i。隐式转换是系统跟据程序需要而自动转换的,不需要定义,但并不是所有值类型都可以互相转
换,所以有了显式转换。例,int i=5; char j='a'; int n=i+j;因char可以隐式专换为int类型,所以结果n=102。
2、c方式类型转换:(target_type)(value),如int i = 5; char c = (char)(i);
c++方式类型转换:方式有4种
static_cast类似c语言的类型转换
dynamic_cast继承体系直接引用和指针直接的转换
const_cast常量转换,常量转换成非常量,非常量转换成常量
reintepret_cast重新解释转换,重新解释数值的含义,如int转换成char*等
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询