C++课件邱志杰第二章C++编程基础.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * 引用作为函数参数 C++采用“传值”的方式进行传递参数,在这种情况下,实参和形参是两个不同的单元,在结合时,实参的值将会被拷贝到形参中。 * * C++函数的传值调用 void func(int num) { num++; } void main( ) { int value=5; func( value ); cout value ; } … value 5(6) num 5 Stack … … Copy 由于“传值”方式的存在,因此试图通过改变形参来改变实参的努力是不会成功的。 //输出:5 * * 通过传地址来改变实参 为了解决上述问题,在C语言中,可以通过传递指针的方式来完成。我们可以通过形参指针间接地改变实参。 * * C语言的传指针调用 void func(int *pnum){ (*pnum)++; } void main( ) { int value=5; func( value ); cout value ; } … value value的地址 pnum 5(6) Stack … … 指向 此时实参与形参的传递为:int *pnum=value; //输出:6 * * C++传递引用的方式 C++采用了比传递指针更好的方式:传递引用。在这种情况下,形参的名字将被看作是实参的别名,即形参就是实参本身。此时对形参的改变也就直接改变了实参。 * * C++语言的引用调用 void func(int pnum){ pnum++; } void main( ) { int value=5; func(value ); cout value ; } … value pnum 5(6) Stack … … 此时实参与形参的传递为:int pnum=value; //输出:6 * * 引用作为函数的返回 函数返回引用,实际上返回的是一个存储单元(变量),即“左值”。 如果一个函数返回引用,那么函数调用可以出现在赋值号的左边。这种情况在C语言里是见不到的。 * * 举例 int f(int *pint){ return *pint; } void main(){ int a=10,b; b=f(a)*5; f(a)=88; coutb“ “a; } //输出:50 88 值得注意的是,因为返回的引用是一个存储单元,所以函数返回后这个单元的生命期应该不会结束,否则返回值将没有意义。 四、面向对象编程初探 * * string类 string类用于处理字符串 要使用string类,需要: #includestring using namespace std; string类对象的常见初始化方式: string str;//定义一个保存空串的对象 string str(“hello”);//定义一个保存”hello”的对象 string str1(“hello”); string str2(str1); * * string类常用成员函数 length:返回字符串对象的长度 int n=str.length(); append:字符串拼接 str.append(“hello”); str1.append(str2); compare:字符串比较 int ret=pare(str2); assign:给字符串对象赋值 str2.assign(str1,2,3); * * string类串的位置指针 位置指针:又称迭代器(iterator),用于访问string类串中的单个字符,向前或向后遍历字符串。 可以进行加、减运算,不检查所指向的位置是否越界。 * * string类串的位置指针 string::iterator iter1=str.begin(); string::iterator iter2=str.end(); string::reverse_iterator iter1=str.rbegin(); string::reverse_iterator iter2=str.rend(); * * 示例 string str(“123456”); string::iterator iter1; for(iter1=str.begin();iter1!=str.end();iter1++) cout*iter1; string::reverse_iterator iter2; for(iter2=str.rbegin();iter2!=str.rend();iter2++) cout*iter2; * * vector类 称vector为容器,是同一种类型的对象的集合,起到数组的作用。 要

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档