C++程序设计-郑莉第四版(第6章).ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++程序设计-郑莉第四版(第6章).ppt

* malloc: 参数size:欲分配的字节数 返回值: 成功,则返回void型指针,指向新分配内存 的首地址。 失败(没有足够内存),则返回空指针。 注意:若申请内存成功,分配的字节数至少为 size,也可能会大一些。 头文件:stdlib.h 和 malloc.h free: 注意:用free释放的内存必须是先前用malloc分配的。 同一内存只能释放一次,重复释放会出错。 * 构造函数的原型 string(); string(const string rhs); string(const char* s); string(const string rhs,unsigned int pos,unsinged int n); string(const char* s,unsigned int n); string(unsigned int n,char c); 使用string类需要包含头文件string,可用如下形式给string对象初始化(原因参见P231页提示): string str=“Hello world!”; 字 符 串 string类 * string类的操作符:参见P231页表6-1(操作符重载) 常用成员函数介绍(参见P232页) append()、assign()、insert()、substr()、find()、length()、swap() 字 符 串 string类(续) * #includeiostream #includestring using namespace std; //根据value的值输出true或false,title为提示文字 inline void test(const char* title , bool value){ couttitle“returns”(value?”true”:”false”endl; } int main(){ string s1=“DEF”; cout“s1 is”s1endl; 例6-23 string类应用举例 字 符 串 * string s2; cout“please enter s2:”; cins2; cout“length of s2:”s2.length()endl; //比较运算符的测试 test(“s1=\”ABC\””, s1=”ABC”); test(“\”DEF\”=s1”, ”DEF”=s1); //连接运算符的测试 s2+=s1; cout“s2=s2+s1:”s2endl; cout“length of s2: “s2.length()endl; return 0; } 字 符 串 * * * * * 二维数组程序举例: P87 例6.4 * * * * 构造函数的实现 * 析构函数的实现 * 声明数组时调用缺省构造函数 程序结束时自动删除数组元素,调用析构函数 注意成员函数的调用形式 * * * * * * * * * * * * * * * * * malloc与free是C中的函数,在C++中仍可使用,new和free是C++中新增的操作符。 将动态存储分配功能设计为操作符,原因是: 1)非常重要,使用频繁 2)可以进行运算符重载,任何类都可以声明自己的new和delete 版本,增加了程序的灵活性。 (运算符重载下一讲再讲) * this 指针 指针this是系统自动生成的,隐含于每一个类的非静态成员函数中的特殊指针。当一个对象生成以后,系统就为这个对象定义了一个this指针,它指向这个对象的地址。 例如:Point类中函数getX()中语句 ruturn x;? return this-x; 每一个非静态成员函数都有一个this指针,当对象调用成员函数时,该成员函数的this指针便指向这个对象。这样,当不同的对象调用同一个成员函数时,编译器将根据该成员函数的this指针指向的对象确定引用哪个对象的成员函数。 成员函数访问类中数据成员的形式为: this - 成员变量 对 象 指 针 * 指向对象成员的指针使用前要先声明,再赋值,然后引用。声明形式为: 类型说明符 类名::*指针名; 类型说明符 (类名::*指针名)(参数表); 对数据成员指针赋值形式为: 指针名=类名::数据成员名; 注意:不能对类的私有成员取地址 对函数成员指针赋值形式为: 指针名=类名::函数成员名; 指向类的非静态成员的指针 * 访问数据成员形式为: 对象名.*成员指针名; 或 对象名-*成员指针名; 访问函数成员时,由于需要确定this指针,因而必须通过对象来调用非静态成员函数,形式为: (对象名.*类成员指针名)

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档