C++ Primer学习-第15章 面向对象编程

2023-05-16

15.1 面向对象编程:概述
  • 在C++中,基类必须指出希望派生类重新定义那些函数,定义为virtual的函数是基类期待派生类重新定义的,基类希望派生类继承的函数不能定义为学虚函数。
15.2 定义基类和派生类
  • 在C++中,通过基类的引用(或指针)调用虚函数时,发生动态绑定。引用(或指针)既可以指向基类对象也可以指向派生类对象,这一事实是动态绑定的关键。用引用(或指针)调用的虚函数在运行时确定,被调用的函数是引用(或指针)所指对象的实际类型所定义的。
  • 基类通常应将派生类需要重定义的任意函数定义为虚函数。
  • 对于非虚函数的调用在编译时确定。
  • 除了构造函数之外,任意非static成员函数都可以是虚函数。保留字virtual只在类内部的成员函数声明中出现,不能用在类定义体外部出现的函数定义上。
  • 访问控制和继承:在基类中,public和private标号具有普通含义:用户代码可以访问类的public成员而不能访问private成员,private成员只能由基类的成员和友元访问。。派生类对基类的public和private成员的访问权限与程序中任意其他部分一样:它可以访问public成员而不能访问private成员。有时候作为基类的类具有一些成员,它希望允许派生类访问但禁止其他用户访问这些成员。对于这样的成员应使用是保护的访问标号(protected access label)。protected成员可以被派生类对象访问但不能被该类型的普通用户访问。
  • protected成员:派生类只能通过派生类对象访问其基类的protected成员,派生类对象对其基类类型对象的protected成员没有特殊访问权限。
15.4 构造函数和复制控制
15.5 继承情况下的类作用域
在继承情况下,派生类的作用域嵌套在基类的作用域中。如果不能在派生类作用域中确定名字,就在外围基类作用域中查找该名字的定义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ Primer学习-第15章 面向对象编程 的相关文章

  • python 面向对象编程

    面向对象与面向过程 参考链接 xff1a https www liaoxuefeng com wiki 0014316089557264a6b348958f449949df42a6d3a2e542c000 0014318645694388f
  • c++ primer和c++ primer plus的区别

    c 43 43 primer和c 43 43 primer plus的区别 xff0c 我自己是先买的c 43 43 primer https www php cn faq 439403 html https zhidao baidu co
  • STL----------C++Primer(笔记)

    1 string string word cin gt gt word getline cin word 关系操作符 lt lt 61 gt gt 61 include lt cctype gt 头文件 string s 61 34 Hel
  • 《C++ Primer》和《C++ Primer Plus》有哪些区别?

    C 43 43 Primer 和 C 43 43 Primer Plus 有哪些区别 xff1f 有了一点C语言基础 xff0c 看哪一本比较好 xff1f
  • 看完《C++ primer》后,我都收获了什么?

    文章目录 1 语言只是一个工具2 光学会一门语言还不够3 结语 迫于读研和未来就业的压力 xff0c 我研一上自学了C 43 43 的这门语言 xff0c 自我感觉比较认真的看完了 C 43 43 primer 这本书的大部分章节 xff0
  • C Primer Plus

    C Primer Plus作为一本被人推崇备至的c入门经典 xff0c C primer plus绝非浪得虚名 应该算得上C教材里最好的入门书了 在知识广度上 xff0c 很少有书能匹及 它能为你系统学习c提供一个良好的平台 作者对c的见解
  • c++ primer和plus有什么区别_VC++、C++、C和TC有什么区别?

    VC 43 43 C 43 43 C和TC xff0c 这几个语言名中都带有C xff0c 可以说和C都有联系 1C C就是指C语言 C语言的关键字少 xff0c 而且拥有丰富的运算符和数据类型 xff0c 可以解决大部分的 计算型 的问题
  • C++primer plus和C++ primer的读书心得

    C 43 43 两本巨著primer plus和primer太过于经典 xff0c 以至于读过多次 xff0c 每次阅读仍然有新的收获 xff0c 所以将一些零碎的知识点整理在这里 xff0c 与大家共同进步 1 i 43 43 与 43
  • C++Primer Plus第6版&C Primer Plus第6版 中文版免费分享啦

    最近在学习C 43 43 xff0c 用的资料是师兄分享的经典书籍 C 43 43 Primer Plus第6版中文版 的PDF xff0c 自带书签 xff0c 使用很方便 但师兄说这个是他在网上花了积分才下载下来的 xff0c 这让我很
  • Java实验报告(四)

    文章目录 题目一 题目二 题目三 题目四 题目五 题目六 题目七 题目一 一 程序一 源程序 public class Leaf int i 0 Leaf increment i return this void print System
  • 基于c++实现的对象池(简单测试)

    代码如下 结尾有示例 pragma once include
  • Java面向对象知识详解(超详细)

    面向对象 一 概念 二 类与对象 三 类与对象在内存中的存储 四 封装 面向对象的三大特征之一 五 构造方法 六 构造代码块和局部代码块 1 构造代码块 2 局部代码块 七 this关键字 八 继承 1 概念 2 特点 3 super关键字
  • Java学习心得1———面向对象的思想

    学习Java的第一天是学习面向对象的思想 思考方式 以下是我对面向对象思想的个人理解 面向对象是符合人类的思考方式的 因为我们平时观察和认知这个世界都是以对象为单位的 我们能分辨猫 狗 房子 车是不同的对象 我们知道猫这个对象有眼睛 有嘴巴
  • python3 面试题总结

    Python global 语句的作用 lambda 匿名函数好处 Python 错误处理 Python 内置错误类型 简述 any 和 all 方法 Python 中什么元素为假 提高 Python 运行效率的方法 Python 单例模式
  • C# 的继承(学习心得 19)

    继承允许我们根据一个类来定义另一个类 这使得创建和维护应用程序变得更容易 利于重用代码和节省开发时间 已有的类被称为的 基类 这个新的类被称为 派生类 继承的思想实现了 属于 IS A 关系 例如 哺乳动物 属于 IS A 动物 狗 属于
  • C++第二章课后习题

    如果可以 还请点个赞 2 1 C 语言有哪些主要特点和有点 解 1全面兼容c 2面向对象的方法 2 2 下列标识符有哪些是合法的 Program page lock test2 3inl mail A B C D 解 第1 3 4 7个 2
  • C++ 类详解(Plus)

    过程性编程和面向对象编程的区别 之前在那篇博客上看到这个比喻 觉得特别恰当 挺容易让人理解的 现在分享一下 用面向过程的方法写出来的程序是一份蛋炒饭 而用面向对象写出来的程序是一份盖浇饭 所谓盖浇饭 北京叫盖饭 东北叫烩饭 广东叫碟头饭 就
  • C++实验一:简单数据及运算(解方程、海伦公式求三角形面积)

    实验目的 1 掌握C 中的基本数据类型的算术运算和逻辑运算 2 理解并掌握C 中运算符的优先级 3 掌握简单的类型转换方法 4 掌握C 的math头文件中常用的几种数学运算 5 了解visual studio的debug功能 并使用debu
  • 面向对象设计 简述

    面向对象设计 面向对象的特性 将数据封装于类中 完全面型对象 封装 隐藏细节 只给出使用信息 公共的访问方式 隐藏对象的属性和实现细节 继承 继承就是子类继承父类的特征和行为 使得子类对象 实例 具有父类的实例域和方法 或子类从父类继承方法
  • 面向对象编程---基于java控制台的高校教材管理系统课设

    功能要求 1 实现出版社 教材类型的管理 2 实现教材的订购管理 3 实现教材的入库管理 4 创建规则 实现教材的书号必须满足以ISBN开头 后跟10个数字 比如ISBN7302120363 5 创建触发器 实现教材入库和出库时自动修改库存

随机推荐