ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:40.19KB ,
资源ID:19808057      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19808057.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++ primer 学习笔记2Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++ primer 学习笔记2Word文件下载.docx

1、iostream3. usingnamespacestd;4. 5. namespace6. 7. classCStonewt8. 9. public:10. CStonewt(doublelbs)11. 12. m_nStone=int(/Lbs_per_stn;13. m_fPds_left%Lbs_per_stn+-);14. m_fPoundslbs;15. 16. intstn,17. 18. stn;19. 20. stn*21. 22. CStonewt()23. 24. 0;25. 26. CStonewt()27. 28. 29. 30. voidshow_lbs()cons

2、t31. 32. coutstonepoundnendl;33. 34. show_stn()35. 36. 37. 38. private:39. enum14;40. m_nStone;41. m_fPds_left;42. m_fPounds;43. 44. 45. 46. int_tmain(intargc,_TCHAR*argv)47. 48. myCat;49. myCat19;50. 51. return52. 2)将构造函数用作自动类型转换函数似乎是一项不错的特性。不过,当程序员拥有更丰富的C+经验时,将发现这种自动也行并非总是合乎需要的,因为这会导致意外的类型转换。因此,最新

3、的C+实现新增了一个关键字(explicit),用来关闭这种自动特性。也就是说,可以这样声明构造函数:1. explicit2. 3. 5. 6. 但此时仍然可以进行myCat = (CStonewt)19.5;强制类型转换。3)把CStonewt类对象赋值给int、double变量要进行这样的操作时,编译器发现右侧是CStonewt类型,而左侧是int、double类型,因此它将查看程序员是否定义了与此匹配的转换函数(如果没有找到这样的定义,编译器将生成错误消息,指出无法将CStonewt赋给int、double)如果想要使用这种转换函数,要转换为typeName类型,需要使用这种形式的转换

4、函数:operator typeName();注意以下几点:a、转换函数必须是类方法b、转换函数不能指定返回类型c、转换函数不能有参数htmlexplicitCStonewt()operatorint()100.5double()999.541. 43. int44. 46. (CStonewt)19.5;47. fValueiValueis:52. 53. 类和动态内存分配 小插曲 : strlen()返回字符串长度,但不包括末尾的空字符,因此构造函数len + 1,使分配的内存能够存储包含空字符的字符串1)含有很多隐藏错误的stringBad类StringBad.h:1. #ifndef_

5、STRINGBAD_H_2. #define4. #include5. #includestring6. using8. classStringBad9. 10. public:StringBad();StringBad(char*strStringBad();friendostream&operator(os,StringBad&sb16. private:m_str;m_nLen;19. public:staticnum_strings;21. ;23. #endifStringBad.cpp:StringBad.h4. intStringBad:num_strings6. StringB

6、ad:StringBad()7. m_nLen4;m_strnewchar4;num_strings+;strcpy_s(m_str,strlen(C+1,objectcreated13. 15. StringBad:16. 1m_str,m_nLen,22. 24. StringBad:StringBad()25. ifdeletenum_strings-;inthe32. 34. ostream&35. osthissb.m_strlensb.m_nLenos;39. testStringBad.cpp:6. voidcallme1(rStringBadfunctioncallme110.

7、 12. voidcallme2(stringBad13. callme216. 18. int19. headline1(Createheadline1headline2(headline2sport(sportheadline1headline2sportInitializeonetoanother:sailersport;sailerAssignanther:knot;knotheadline1;knotEndofmain()44. 46. 2)复制拷贝函数1. StringBad&operator=st)if(=&st*this;6. str;st.len;str:strcpy(str

8、,st.str12. 3)重写下标运算符1. char&operatorim_str4. 5. constchar&8. 为什么要提供两个版本。原因是m_str是常量,而上述方法无法确保不修改数据。但在重载时,C+将区分常量和非常量函数的特征标,因此提供了另一个仅供const String对象使用的operator()版本4)新的String类3. #include4. using6. #defineMAXTEMPSIZE256myStringmyString()1,num_string+;myString():myString():myString&rStringrString.m_strmyString()num_string-;myString():HowMany()num_string;inlinelength()53. 54. 55.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1