第1篇-C、C++基础.ppt

  1. 1、本文档共90页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* ? 每一个成员函数都隐含了一个this指针 ? this指针指向的是类的对象。 this指针 * ? this 指针的特性 当类的对象调用成员函数时,this指针便指向这个对象 若某个类具有两个对象, 则会有两个不同的this指针 this指针是编译器自动产生而使用的,用于判断是哪个对象调用了成员函数 程序中也可以显式地使用this指针 * #include iostream.h class New{ private:int ID; public: New(int n=0) { ID=n; } int getID( ); void resetID(int m); }; 例: int New::getID( ) { coutValue of this in getID:-- this\n; return ID; } void New::resetID(int m) { coutValue of this in restID:-- this\n; ID=m; } * void main( ) { New A(10); New B(20); coutA--A.getID( )\n; coutB--B.getID( )\n; A.resetID(30); B.resetID(40); coutID of A:A.getID( )\n; coutID of B:B.getID( )\n; } * 运行结果: Value of this in getID:--0x145e0ffe A--10 Value of this in getID:--0x145e0ffc B--20 Value of this in restID:--0x145e0ffe Value of this in restID:--0x145e0ffc Value of this in getID:--0x145e0ffe ID of A:30 Value of this in getID:--0x145e0ffc ID of B:40 对象A的this指针 * ? 在C中,动态建立或取消变量使用函数。 建立:mallco(sizeof(类型名)) 取消:free( ). 动态存储分配 * ? new的返回值: 返回一个指向所分配空间的起始位置的指针,若无有效空间,则返回null或0值. ? 在C++中,动态建立或取消对象使用操作符。 建立:new 取消:delete 1. 操作符new ? new的作用:动态地获取存储空间 * 例 . int m; char *s; cinm; s=new char [m]; S-具有m个元素的字符指针,且指向数组头一个元素. * 例. class Mask { ? }; main ( ) { ? Mask *r=new Mask; // r是指向对象的指针可自动调用constructor ? } * 2. 操作符delete ? delete的作用:释放对象所占的空间,用于重新分配给其它对象 调用格式:delete(对象名); 或 delete 对象名; 注意:delete只能用于释放由new所开辟的内存空间。 * #include iostream.h class Dog{ public: Dog(char *hair_color=yellow); void cry(); private: char *hair; }; class Cat{ public: Cat(char *hair_color=black); void cry(); private: char *hair; }; 例: Dog::Dog(char* hair_color) { hair=hair_color; } void Dog::cry() { couthair dog cry to someone\n; } Cat::Cat(char* hair_color) { hair=hair_color; } void Cat::cry() { couthair cat cry to mouse\n; } * void main() { Dog mydog; Cat mycat; mydog.cry(); mycat.cry(); Dog *yourdog=new Dog(black); coutcreat new Do

文档评论(0)

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

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

1亿VIP精品文档

相关文档