c++语言设计(郑莉第四版)7.选编.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.4.1 构造函数进行类类型转换 class X { // …… public : X ( int ) ; X ( const char * , int = 0 ) ; }; void f ( X arg ) ; : X a = X( 1 ) ; // a = 1 X b = Jessie ; // b = X ( Jessie , 0 ) a = 2 ; // a = X ( 2 ) f ( 3 ) ; // f ( X ( 3 ) ) f ( 10 , 20 ) ; // error 例如 调用构造函数X ( const char * , int = 0 ) 把字符串转换为类类型 X 后赋给对象 b 7.4.1 构造函数进行类类型转换 7.4.1 构造函数进行类类型转换 class X { // …… public : X ( int ) ; X ( const char * , int = 0 ) ; }; void f ( X arg ) ; : X a = X( 1 ) ; // a = 1 X b = Jessie ; // b = X ( Jessie , 0 ) a = 2 ; // a = X ( 2 ) f ( 3 ) ; // f ( X ( 3 ) ) f ( 10 , 20 ) ; // error 例如 隐式调用构造函数 X ( int ) 把 2 转换为类类型 X 后赋给对象 7.4.1 构造函数进行类类型转换 7.4.1 构造函数进行类类型转换 class X { // …… public : X ( int ) ; X ( const char * , int = 0 ) ; }; void f ( X arg ) ; : X a = X( 1 ) ; // a = 1 X b = Jessie ; // b = X ( Jessie , 0 ) a = 2 ; // a = X ( 2 ) f ( 3 ) ; // f ( X ( 3 ) ) f ( 10 , 20 ) ; // error 例如 隐式调用构造函数 X ( int ) 对实参作类类型转换,然后做参数结合 7.4.1 构造函数进行类类型转换 7.4.1 构造函数进行类类型转换 class X { // …… public : X ( int ) ; X ( const char * , int = 0 ) ; }; void f ( X arg ) ; : X a = X( 1 ) ; // a = 1 X b = Jessie ; // b = X ( Jessie , 0 ) a = 2 ; // a = X ( 2 ) f ( 3 ) ; // f ( X ( 3 ) ) f ( 10 , 20 ) ; // error 例如 当找不到匹配的构造函数时 转换失败 7.4.1 构造函数进行类类型转换 7.4.1 构造函数进行类类型转换 class X { // …… public : X ( int ) ; X ( const char * , int = 0 ) ; }; void f ( X arg ) ; : X a = X( 1 ) ; // a = 1 X b = Jessie ; // b = X ( Jessie , 0 ) a = 2 ; // a = X ( 2 ) f ( 3 ) ; // f ( X ( 3 ) ) f ( 10 , 20 ) ; // error 例如 这样的隐式类型转换 由系统自动完成 7.4.1 构造函数进行类类型转换 7.4.2 类型转换函数 带参数的构造函数不能把一个类类型转换成基本类型 类类型转换函数是一种特殊的成员函数,提供类对象之间 显式类型转换的机制 7.4.2 类类型转换函数 7.4.2 类型转换函数 语法形式: X :: operator T ( ) { …… return T 类型的对象 } 功能:将类型 X 的对象转换为类型 T 的对象 ? T 可以是预定义类型,也可以是用户定义类型 函数没有参数,没有返回类型,但必须有一条 return 语句

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档