设为首页 加入收藏

TOP

2.4.1 隐式转换
2013-10-07 14:13:08 来源: 作者: 【 】 浏览:49
Tags:2.4.1 转换

2.4  类型转换

类型转换是用来把一个类型的值转换成另一个类型。C++(www.cppentry.com)是强类型的语言,每一个值都有它相应的类型。当用户需要把一个类型的值转换为另一个类型时,就需要使用一些方式进行类型转换。在C++(www.cppentry.com)中,支持隐式转换和显式转换两种。

2.4.1  隐式转换

隐式转换就是系统默认的,不需要加以声明就可以进行的转换。在隐式转换过程中,编译器无需对转换进行详细检查就能够安全地执行转换。比如从int类型转换到long类型、从char类型转换到int类型就是一种隐式转换。隐式转换一般不会失败,转换过程中也不会导致信息丢失。

例如,下面程序实现数据类型的隐式转换,将整形数据类型转换为长整型数据类型、将字符型数据类型转换为整型数据类型。实现代码如下:

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

上述程序声明了一个整型变量a、一个长整型变量b和一个字符型变量ch,并在声明变量i的同时给变量a和ch赋初值。该程序中语句b=a;就需要将整型数据类型转换为长整型数据类型,而语句a=ch;就需要将字符型的值转换为整型值,C++(www.cppentry.com)编译器自动实现了其之间的转换,这就是隐式转换。

将上述程序输入到DEV-C++(www.cppentry.com)编辑器中,编译并运行,结果如图2.15所示。

 
(点击查看大图)图2.15  隐式转换
需要注意的是,图2.15中输出整型变量a的值为97。这是因为字母a对应的ASCII码值为97。由此可看出,字符型和整型数据类型之间可以相互转换。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.4.2 显式转换 下一篇2.3 变量的作用域

评论

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