网站大量收购闲置独家精品文档,联系QQ:2885784924

《天学会C++》笔记.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《天学会C》笔记

指针 使用方法 定义、赋值;释放,置零。Int* pInt = new int(3); delete pInt; pInt = 0; 迷途指针,空指针:迷途指针就是其所指向的内存被释放,空指针则指指针的值为0。 转换运算符没有指定返回值,尽管返回一个转换后的值。 例如:将、class Counter的一个对象转换为unsigned short的值, Class Counter { Private: Int value; Public: Operator unsigned int();// } Counter::operator unsigned int() { Return (int)value; } Main() { Counter ctr; Int intValue = ctr; } 派生类隐藏基类中方法:覆盖基类的某个方法后,就不能通过派生类对象使用任何同名的基类方法,即派生类若要覆盖某个方法就要覆盖所有的同名方法。类似的情况是提供了任何构造函数,编译器将不会提供默认构造函数。Const方法,派生类中忘记方法中的const关键字,则原基类方法不是被覆盖而是被隐藏了。 派生类对象调用被覆盖的基类方法subObject.BaseClassName.method(); 切除slicing:仅当通过指针和引用进行调用时,才能发挥虚方法的魔力;按值传递对象时将不能发挥虚方法的魔力。Class Mammal {virtual void speak(){}};class Dog{void speak(){}}; class Cat{void speak(){}}; Void PtrFunction(Mammal*); void ValueFunction(Mammal); void RefFunction(Mammal); Void ptrFunction(Mammal * pMammal) {pMammal-speak();} Void valueFunction(Mammal vMammal) {vMammal.speak()}//不能调用虚函数,还是基类函数 Void refFunction(Mammal rMammmal){rMammal.speak();} 虚复制构造函数:基类Clone()虚函数,派生类中重载该函数,实现拷贝 基类:Virtual Mammal* Clone(){return new Mammal(*this);} 派生类:virtual Mammal * Clone() {return new Dog(*this);} 任何一个方法为虚方法时,应将 析构函数声明为虚函数。 使用new创建对象时,delete删除所占用的内存;new class [size]创建数组时,delete[]删除数组内存空间,若遗漏了方括号,将只删除数组中的第一个对象,产生内存泄露。 cin.get();//get接收三个参数:待填充的缓冲区;要读取的最大字符数;终止输入的限定符,默认限定符为换行符。 string.h char *strcpy(char *dest, const char *src)将整个字符串复制到指定的缓冲区,原数组比目标数组长,将覆盖缓冲区后面的内容;char *strncpy(char *dest, const char *src,int count)将指定数目的字符从一个字符串复制到另一个字符串中,接受最多要复制的字符数作为参数,将第一个空字符前的内容或指定的最大字符数复制到目标缓冲区中。两个函数都在字符串末尾自动添加一个空字符。 动态转换 subclass * pSub = dynamic_castsubclass * (superObject);转换成功pSub不为空,否则为NULL 为确保派生类只有一个共同基类的实例,可将中间类声明为从从共同基类 虚继承。 纯虚函数:virtual void function () = 0;//必须在派生类中覆盖 函数指针 ; void (*pFunc)(int, int); 或者使用typedef:typedef void (*VPF)(int , int); VPF pFunc2;函数指针数组:返回值标识符 (*pFUnction【length】)(参数列表) 的 的 printVals(pFunc, val1, val2); 函数原型 void printVals( void (*pFunc)(int, int)), int x, int y) {} 成员函数指针:与创建函数指针相同的语法,但需要包含类名和作用域运算符(::)例如:void (Shape::*pFunc)(int , int);需要

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档