设为首页 加入收藏

TOP

2.4.2 显式转换
2013-10-07 14:13:10 来源: 作者: 【 】 浏览:48
Tags:2.4.2 转换

2.4.2  显式转换

一般来说,能够进行隐式转换意味着编译器认为转换是合理的或者是安全的。此外,C++(www.cppentry.com)还支持显式转换,显式转换是用户手动指出需要转换的类型。显式转换意味着编译器能够找到一个转换方式,但是它不保证这个转换是否安全,所以需要程序员额外指出。C++(www.cppentry.com)的显式转换提供了更精确的语义和对其进一步扩展的可能。

在C++(www.cppentry.com)中,数据类型的显式转换可以通过运算符()来实现。在()中加上需要转换的目标数据类型,放在变量之前即可。例如,需要将变量a转换为整型数据类型,其表达式为(int )a。

下面程序实现了数据类型之间的显式转换,将整型数据类型通过运算符()显式转换为长整型数据类型,将字符型变量通过运算符()显式转换为整型变量。实现代码如下:

  1. #include <iostream> 
  2. using namespace std;  
  3. int main()  
  4. {  
  5.     int a=100;                          //定义整型变量  
  6.     long b;                                 //定义长整型变量  
  7.     b=(long)a;                          //强制类型转换  
  8.     cout<<"a="<<a<<","<<"b="<<b<<endl;  
  9.     char ch='a';                            //定义字符型变量并初始化  
  10.     a=(int)ch;                          //强制类型转换  
  11.     cout<<"ch="<<ch<<","<<"a="<<a<<endl;    
  12.     system("pause");  
  13.     return 0;  
  14. }  

上述代码只是将2.4.1节中隐式转换的代码改为显式转换,即在第7行和第10行中加上了转换运算符及目标数据类型,其实现的结果应与隐式转换的结果相同。将上述程序输入到DEV-C++(www.cppentry.com)编辑器中,编译并运行,结果如图2.16所示。

 
(点击查看大图)图2.16  显示转换结果
可以看出,该程序使用了语句"b=(long)a;"将整型变量a的类型强制转换为长整型,使用了语句"a=(int)ch;"将字符型变量ch的类型强制转换为整型。因此,其运行后的效果与图2.15相同。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.1.4 变量的应用示例 下一篇2.4.1 隐式转换

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: