C++面向对象高级编程培训

课程介绍
     本课程涵盖C++面向对象语法、语义、对象模型、优良编程风格、面向对象概念,让学员从一无所知到具备C++专家能力,并彻底认识C++底层运作。
 

课程对象: 有经验的企业开发技术人员

课程长度:2天

最新时间:定制课程(内训),人满开班(公开课)

传统的面对面授课方式。

 

课程大纲:

        本次课程由以下几个部分构成:
      1、从C到C++
          引用和指针:为什么引用很重要const关键字:为什么const很重要名字空间 (namespace)
      2、深入C++对象
          关于C++对象
              内置类型的对象,如int、double对象
              自定义类型的对象
          对象类型的定义
              关键字class和struct
              类成员:成员函数和数据成员
              静态数据成员
              成员的访问控制
              对象的size
              关于this指针
             const成员函数、const究竟修饰什么
              mutable数据成员
              4种特殊成员函数:constructor、destructor、copy constructor、operator=
              对象的构造、初始化列表
              对象的析构
              对象的复制
              什么情况下有必要显式定义4种特殊函数
          C++对象生命周期
      3、操作符重载
          关于C++中操作符重载机制
          重要操作符重载
              算术运算:+, -, *, /, %, ++, --, ...
              关系运算:>, <, ==, !=
              下标存取:[ ]
              函数调用:(),函数对象
              类型转换、单参数构造函数与隐式转换、阻止隐式转换 -- explicit关键字
          友元与成员
      4、面向对象基础 -- 继承
          基类与派生类
          再谈对象的构造与析构
          虚函数、纯虚函数
          派生类的内存布局、虚函数表
          多态、多态类型、如何体现多态
          虚析构、为什么虚析构很重要
      5、关于继承更多的话题
          多继承
          虚继承与虚基类
          对基类的访问、public / protected / private继承
          Down cast:static_cast<>和dynamic_cast<>
          运行期类型识别 (RTTI)
      6、C++与面向对象设计
          C++语言机制提供了完整的OOP支持
          超越继承
          OOP若干法则和设计模式
              封装变化,分离不变与变化
              面向接口编程,而不是针对实现编程
              多用组合、少用继承
              努力保持交互对象间的松耦合
              类设计的开闭原则:类应该对扩展开放、对修改关闭
              依赖抽象,而不是依赖具体类
              最少知识原则
              好莱坞法则 (控制反转):不要打电话给我,我会找你的
              单一责任原则:一个类应该只有一个引起变化的原因。