c primer学习笔记——面向对象编程.pdf

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

1. 之所以成通过继承而相关联的类型为多态类型 ,是因为许多情 况下可以互换地使用派生类型或基类型的许多形态。在 c++中 , 多态性仅应用于通过继承而相关联的类型的引用或指针。 2. 在 C++ 中 ,通过基类的引用 (或指针 )调用虚函数时 ,发 生动态绑定。引用 (或指针 )既可以指向基类对象也可以指 向派生类对象 ,这一事实是动态绑定的关键。用引用 (或指 针 )调用的虚函数在运行时确定 ,被调用的函数是引用 (或 指针 )所指对象的实际类型所定义的。 3. 基类要定义虚析构函数 4. 除了构造函数以外任意非 static 函数都可以是虚函数。派生 类不能访问基类的 private成员。Protected 成员能被派生 类的成员函数访问不能被友元访问。 5. 派生类中虚函数的声明必须与基类中的定义方式完全匹配 ,但 有一个例外 :返回对基类型的引用 (指针 )的虚函数 ,派生类 中的虚函数可以返回基类函数所返回类型的派生类的引用 (指 针 )。 6. 动态绑定的两个条件 :1虚函数 2 用基类的引用或者指针进 行调用。只有成员函数中的代码才能通过作用域操作符覆盖 虚函数机制。覆盖很多时候因为很多派生类要先完成基类版 本中的工作再额外完成其他工作。派生类版本的虚函数调用 基类版本时必须指定作用域 ,不然会递归 !!! 7. 在同一虚函数的基类版本和派生版本中使用不同的默认实参几 乎一定会引起麻烦。如果通过引用或者指针调用虚函数 ,但在 实际执行的是派生类中定义的版本 ,这时就肯能会出现问题。 此时 ,为虚函数的基类版本定义的默认实参将传给派生类定义 的版本 ,而派生类版本是用不同的默认实参定义的。 8. 每个类控制它所定义的成员的访问。派生类可以进一步限制 但不能放松对继承的成员的访问。访问列表中的访问标号决 定。 公有继承 :基类的成员保持原有的属性。 保护继承 : 基类的非私有成员均为保护成员。私有继承 :基类的非私有 成员均为私有。可以在派生类中使用 using命令 (在 public 里声明 using abc size可以把 size恢复成 public )使得它 重新变为公有/保护 ,关键在于访问级别。Class默认私有继 承 ,struct 默认公有继承 9. 友元不会被继承。不管怎么继承 static成员只有一个实例 ,如 果在基类里面是 private则不会被访问。 10.访问方式 :1基类 ::成员名。2派生类 ::成员名 3 对象 引用指针 4 直接用成员名 11.派生类的引用和指针到基类可以自动转换 ;反过来没有自动转 换。严格来说对象没有转换 ,但是可以用派生类的对象来初始 化和赋值基类对象。将派生类的对象传递给希望接受基类引用 的函数 ,实际上式传递引用 ,对象没有变。如果将它传递给接 受对象的函数 ,则复制基类部分。对派生类对基类对象进行初 始化复制 :1显示定义复制构造函数 2定义构造函数/复制操作 符;以上方法并不常见 ,基类一般确定自己的赋值操作符和构造 函数 (传递 const 引用 ,大家都可以用 )注意 :访问标号。用 base指针指向derived对象 ,再用此指针给另外 derived指 针赋值需要显示强制类型转换。 12.派生类的默认构造函数将调用基类的构造函数。如果派生类 显示定义自己的复制构造函数或复制操作符 ,则该定义将完 全覆盖默认定义。被继承类的复制构造函数和赋值操作符负 责对基类成分及类自己的成员进行复制或复制。如果派生类 定义了自己的复制构造函数 ,该函数一般显示使用基类复制 构造函数初始化基类部分 ,如果不这样做很可能用默认构造 函数初始化基类部分。 赋值操作符首先确保避免自身赋值 , 然后调用基类的赋值操作符。 13. class Bulk_item public Item_base { public Bulk_item(const std string book, double sales_price, 在派生类构造函数参数列表中不能直接初始化基

文档评论(0)

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

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

1亿VIP精品文档

相关文档