zoukankan      html  css  js  c++  java
  • C++Review3_关于C++各种概念的串联与梳理

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

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

     

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

     

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

     

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

     

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

     

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

     

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

     

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

     

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

     

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

     

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

     

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

     

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

     

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

     

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

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

     

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

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

  • 相关阅读:
    [转载]pda 和pc 之间的文件操作(利用Microsoft ActiveSync同步文件数据)
    获取XML文件中内容大小
    听猪的“旅行的意义”有感
    If a file is locked, you can wait until the lock times out to redeploy, or s
    七个顶级的心理寓言(转载)
    html table 上下左右边框
    判断浏览器动态加载CSS等内容
    课程表
    input文本框、文字、按钮、图片 垂直居中对齐
    JUnit3
  • 原文地址:https://www.cnblogs.com/grooovvve/p/11204490.html
Copyright © 2011-2022 走看看