C++知识点总结分析和总结.docxVIP

  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文档。上传文档
查看更多
类和对象初步 类的定义 在定义外成员函数的实现 类的成员函数之间可以相互调用,类的成员函数也可以重载,也可设默认参数值 一般来讲,一个对象占用的内存空间的大小等于其成员变量的体积之和。每个对象都有自己的存储空间(成员变量),但成员函数只有一份 对象名.成员名 指针-成员名 引用名.成员名 private:一个类的私有成员,只能在该类的成员函数中才能访问 public: proteced: class 默认 private struct 默认 public 内联成员函数:成员函数名前加 inline 或函数体写在类定义内部的成员函数。执行更快,但会带来额外的内存开销 构造函数 构造函数全局变量在堆上,系统自动初始化为零。局部变量在栈上,初始值是随机的,需要初始化。 构造函数:对对象进行初始化。构造函数执行时对象的内存空间已经分配,构造函数的作用是初始化这片空间。可重载,不写的话有默认构造函数,但是如果编写了构造函数,那默认构造函数不会再执行。是一类特殊的成员函数。不写返回值类型,函数名为类名。 对象在生成时一定会调用某个构造函数,一旦生成,不再执行构造函数。 P183 Ctest *pArray[3]={new Ctest(4),new Ctest(1,2)} 复制构造函数:其是构造函数的一种,只有一个参数,为本类的引用,防止混淆,构造函数不能以本类的对象作为唯一的参数。 默认复制构造函数。 复制构造函数被调用的三种情形:1 用一个对象去初始化另一个对象时 Complex C1(C2) Complex C2=C1; 2 函数的参数是类 A 的对象。形参未必等于实参 函数中用对象的引用不会调用复制构造函数 void Function(const Complex c)3 函数的返回值是类 A 的对象 类型转换构造函数:除复制构造函数外,只有一个参数的构造函数 C=6 析构函数:在对象消亡时调用,可以定义其做善后工作。是一类特殊的成员函数,一个类有且只有一个构造函数。默认析构函数 注意:函数的参数对象以及作为函数返回值的对象,在消亡时也会调用析构函数 构造函数 析构函数 变量的生存期: 全局变量在 main 函数开始执行前初始化。函数调用结束后静态局部对象不消亡。main 函数结束时,静态局部对象先消亡,全局对象再消亡 静态成员变量和静态成员函数:实质是全局变量和全局函数,被所有的同类共享。生成在对象生成之前。计算体积时不会将静态成员变量算入其中 老师的 coeblocks C0 13 静态成员变量必须在类定义外进行声明,声明的同时也可初始化。因为静态成员函数内部不作用于某个对象,所以不能访问非静态成员 常量对象和常量成员函数:常量对象一旦初始化后,值再也不能改变。常量对象和普通对象都可调用常量成员函数。通过常量对象调用常量成员函数。常量成员函数内不能调用同类的非常量成员函数,静态成员函数除外。 封闭类:包含成员对象的类。在定义封闭类的构造函数时,用初始化列表的方式初始化。封闭类对象生成时,先执行所有成员对象 友元和 this 友元函数:把全局函数和其它类的成员函数声明为友元函数后,可直接在友元函数内部访问该类的私有成员;但不能把其它类的私有成员函数声明为友元。 全局函数声明为友元:friend 返回值类型 函数名(参数表); 其它类的成员函数声明为友元:friend 返回值类型 其它类的类名::成员函数名(参数表); 友元类:类 A 将类 B 声明为自己的友元,则类 B 中所有的成员函数都可访问类 A 对象中的私有成员。私有成员函数也可访问。 注意:友元关系不能传递。 this 指针:非静态成员函数的实际形参比编写的多一个,就是 this 指针,指向成员函数作用的对象。通过 this 指针找到对象所在的地址,继而找到对象非静态成员变量的地址。 注意:因为静态成员函数不作用于某个对象,所以在其内部无 this 指针,不能使用。 运算符重载 运算符重载:是对已有的运算符赋予多重含义,使不同的运算符作用于不同的类型的数据时导致的不同的行为。 实质是编写运算符作为名称的函数。 返回值类型 operator 运算符(形参表){. } 使用了被重载的运算的表达式,会被编译成对运算符函数的调用,实参是运算符的·操作数,运算的结果是函数的返回值。运算符可多次被重载,可重载为全局函数和成员函数。重载为全局函数时,参数个数等于操作符的个数;重载为成员函数时,参数的个数等于操作数的个数减 1. a—b 被重载为(b); 类名(构造函数参数表)这个写法表示生成一个临时对象。该临时对象没有名字,生存期到包含它的语句执行完为止。 C++规定 = 只能重载为成员函数.赋值运算符可以连用。 const char *c_str() const {

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档