经过前面两个Review,对代码复用,类的继承概念有了进一步理解。

这里再做一次复盘,把其他概念也串联起来构成一个知识框架。

首先是类和对象的概念。对象指的是特征与技能的结合体,面向对象编程思想的好处是提高了程序的扩展性,可维护与可读性都变得更好。

类在构造时要考虑内存的动态分配问题,也有了构造函数析构函数的概念。

为了使得对象的操作更加美观,有了运算符重载的技术。

函数的重载是C++语言不同于C语言的一大特征。重载的意义在于给调用者带来了很多方便,提高程序的可读性,根据实际运行情况决定同样的方法实际调用哪个代码块。

运算符重载和类成员函数重载,实际上是C++多态技术的一种形式。多态是C++面向对象的三大特性之一,其他两个是封装继承

多态的概念实际上是建立在继承的概念之上的,与多态关系密切的一个概念是虚函数,还有就是联编(静态联编、动态联编),多态的特性还会牵扯到程序运行的额外开销。

封装的概念很好理解,一堆过程用一个函数封装起来,一堆相关变量用一个结构体封装起来

考虑到代码的复用类的复用等等。--->也就有了类的继承的概念

公有继承(is-a关系)是代码复用的其中一种机制,此外还有组合的方式进行代码复用,包含私有继承保护继承(has-a关系)等等。

此外关于代码复用还有多重继承类模板的概念。

类模板函数模板概念的延伸。

模板的好处是封装并复用了过程或算法,并使其独立于类型。

C++提供了大量的标准模板库和标准类,可以基于这些现成的代码,开发自己的程序。

此外由于类的概念中有私有成员,公有成员,保护成员。实际上这些概念是为了限制外界对类中数据访问的权限。这很好地保护了数据,但有时候也不大方便,这时候就需要友元

简单来讲友元函数一种特殊的非成员函数,它可以访问类的私有数据。

友元友元函数概念再延伸一下,也就有了友元类

此外还有内存模型、名称空间、异常、输入输出流、文件、泛型编程、容器、迭代器等概念有待继续梳理....

最新文章

  1. StackExchange.Redis帮助类解决方案RedisRepository封装(基础配置)
  2. 换行(\r)和回车(\n)
  3. jquery原型方法map的使用和源码分析
  4. 一个简单的猜大小的小游戏 python
  5. outlook——还原“未读邮件”文件夹
  6. 实现一个 Variant
  7. Android之Activity框架
  8. Delphi中自画TStatusBar面板中的文字颜色背景以及图片
  9. flex 监听网络连接情况
  10. [转载]C#如何在webBrowser1控件通过TagName,Name查找元素(没有ID时)遍历窗体元素
  11. SpringMVC中使用Jcaptcha实现校验码验证
  12. Java_SSH项目主要步骤记录
  13. 控制台console使用MFC库函数,Cout输出CString的方法
  14. jsp页面中格式化为小数点两位
  15. EPROCESS KPROCESS PEB
  16. 【C++】最大子列和
  17. systemctl enable docker.service
  18. JavaScript实现LUHN算法验证银行卡号有效性
  19. AnyProxy做App网络流量测试
  20. Prepare paddle in Docker

热门文章

  1. jQuery $.isNumeric vs. $.isNaN vs. isNaN
  2. 谷歌好样的,把 www 也干掉了
  3. 2019-8-29-dotnet-core-使用-sqlite-部署到-Centos-服务器
  4. HZOJ 老司机的狂欢
  5. 如何用django框架完整的写一个项目
  6. 一 linux安装python3
  7. WPF中的简单水动画
  8. 自定义View系列教程08--滑动冲突的产生及其处理
  9. Getting started with the basics of programming exercises_1
  10. Duplicate keys detected: '0'. This may cause an update error.