400-888-5228

课程介绍:

本课程涵盖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若干法则和设计模式

封装变化,分离不变与变化

面向接口编程,而不是针对实现编程

多用组合、少用继承

努力保持交互对象间的松耦合

类设计的开闭原则:类应该对扩展开放、对修改关闭

依赖抽象,而不是依赖具体类

最少知识原则

好莱坞法则 (控制反转):不要打电话给我,我会找你的

单一责任原则:一个类应该只有一个引起变化的原因。