- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指向对象的指针 this指针 标准C++ string类 第三章 3.1 指向对象的指针 Person person1; Person *ptr=person1; //指向对象的指针 person1.age // 对象引用成员 person1.GetAge(); ptr-age //指针引用成员 ptr-GetAge(); (*ptr).age (*ptr).GetAge(); 1. 指向const对象的指针 【const】 int i = 9;const int *p = i; 允许给p指针重新赋值,使其指向另一个const对象,但是不允许通过p指针来修改所指对象的值。 2. const指针 int i = 0;int *const p = i; const指针的值是不能被修改的,这意味着不能使其指向其他的对象。所以在定义的时候就必须要初始化。 3.指向const对象的const指针 const i = 10; const int *const p = i; 既不能修改指针p所指向的对象的值,也不允许修改该指针p的指向 3.2 this指针 1.定义:?this指针只能在一个类的成员函数中调用,它表示当前对象的地址。 2.实现原理: 当调用一个成员函数时,系统自动产生一个隐藏的指针,这个指针称为this指针,它始终指向产生这个调用的对象,并将该指针作为一个参数自动传递给该成员函数。 1改变类成员函数的定义,用附加参数this指针来定义每个成员函数。如: void Person::Set(Person*this, int age,float shengao){ this-age=20; this-shengao=170; } 2每个类成员函数的调用,加上一个附加的实参——被调用对象的地址。如: p1.Set (10, 160); 改变为: Set ( p1 , 10,160); 3.使用: 数据成员与成员函数参数同名时 Person::Person( int age, float shengao){ this-age=age; this-shengao=shengao; } 成员函数返回值时当前类的对象 ? complex complex::operator = (complex c2){ real=c2.real; imag=c2.imag; return *this; //表示当前对象 } 3.3 标准C++ string类 C++的字符串 string类,它重载了运算符,连接、索引和复制等操作不必使用函数,使运算更加方便,而且不易出错。 #includestring using namespace std; string类的使用方法: (1) string类有三个构造函数: string str; //调用默认的构造函数,建立空串 string str(OK); //调用采用C字符串初始化的构造函数 string str(str1); //调用复制构造函数,str是str1的副本 (2) string类字符元素的访问比C字符串有所增强: str[i] //返回str中索引i处字符的引用,不查是否出界 str.at(i) //返回str中索引i处字符的引用,查是否出界 (3) string类重载了一些运算符,特别注意当目标串较小,无法容纳新的字符串,系统会自动分配更多的空间给目标串,不必顾虑出界: str1=str2; //str1成为str2的副本 str1+=str2; //str2的字符数据连接到str1的尾部 str1+str2; //返回一个字符串,它将str2连接到str1的尾部 str1==str2; str1!=str2; //比较串是否相等,返回布尔值 str1str2; str1str2; str1=str2; str1=str2; //基于字典序的比较,返回布尔值 (4) string类的输入输出。输出与C风格字符串同样方便,使用插入运算符和cout,输入完整的字符串可用非成员函数getline,注意格式: getline(cin,str); //串以’\n’结束 getline(cin,str,ch); //串以ch结束 (5) string类有一些常用的成员函数可进行字符串处理: str
您可能关注的文档
最近下载
- 上证e互动平台使用手册.PDF VIP
- 《乡土中国》第8课时“结构概念归纳,论证方法赏析”-2022-2023学年高一语文同步课件+教案(统编版必修上册).pptx VIP
- 【5】高等职业教育真题汇总-多项选择题.docx VIP
- 2025年康复治疗师《构音障碍评估与治疗》核心技能习题库.doc VIP
- 2020部编人教版一年级下册语文教学计划及进度表.docx VIP
- 现代木结构建筑建造技术第二章现代木结构建筑的优势现代木结构的研究与应用.pdf
- 2025年康复治疗师《辅助器具评估与训练》综合习题习题库.doc VIP
- 2025年康复治疗师《多学科协作康复案例》分析习题库.doc VIP
- 宋词鉴赏方法与技巧解析.pptx
- 现代木结构建筑建造技术 第十五章 桁架 第十五章 桁架.ppt VIP
文档评论(0)