4006-998-758
3000+课程任你选择
C++/OOP (面向对象C++编程) 之深入浅出
研发学院 C++ Object Oriented 开课时间:2021-08-03
侯捷

台湾著名C++技术专家,两岸著名IT技术教育者,计算机图书作家/译者/书评人。深入了解企业一线实践,挖掘C++技术难点与要点,有多年的企业客户培训经验,其深度的技术剖析和丰富的案例教学,深受企业及c++开发者的广泛好评。擅长以容易理解的图片解析繁复的结构和过程,以深入浅出的方式阐述高深的技术与复杂的源代码。

30年经验于计算器技术之写作/翻译/授课,曾执教于元智大学、南京大学,现任同济大学软件学院客座教授。着有《深入浅出MFC》《STL源码剖析》《多型与虚拟》《无责任书评》等书,译有《Inside the C++ Object Model》《C++ Primer》《Effective C++》《More Effective C++》等书。


查看老师详情
课程内容

课程说明


以「奠定扎实基础」为目的,探讨面向对象 C++ 语言之种种语法+语意,以及面向对象编程 (Object-Oriented Programming) 应培养、应注意的思维。


课程特色


深入浅出, 实例经典


课程对象


C++初中阶学员


课程大纲


1. C++版本演进

2. 数据和函数,从 C 到 C++

3. C++程序的基本型式

4. 关于输出

5. Header(头文件)中的防卫式声明

6. Header(头文件)中的布局

7. Object Based (基于对象)

8. 第一个 C++程序, class without pointer member

  • Class 的声明

  • Class template (类模板) 简介

  • this pointer 深究

  • Inline(内联)函数

  • Access Level (访问级别)

  • Constructor (ctor, 构造函数)

  • Const member functions (常量成员函数)

  • 参数传递:pass by value vs. pass by reference (to const)

  • 返回值传递:return by value vs. return by reference (to const)

  • Friend (友元)

  • Class 所创建的各个 objects 互为 friends (友元)

  • Class body 外的各种定义 (definitions)

  • Operator Overloading (操作符重载-1, 成员函数)

  • Return by reference 语法再分析

  • Operator Overloading (操作符重载-2, 非成员函数)

  • Temp. Object (临时对象)

  • 专家经验

  • 编程示例

9. 第二个 C++程序, class with pointer member

  • 三个特殊函数 (Big Three):Copy Constructor (拷贝构造),Copy Assignment Operator (拷贝赋值),Destructor (析构函数)

  • String的ctor和dtor (构造函数和析构函数)

  • String必须有copy ctor (拷贝构造函数) 和copy assignment operator(拷贝赋值函数)

  • 一定要检查 self assignment (自我赋值)

  • 自我赋值的另一个处理办法:Copy and Swap 

  • Output 函数 (operator<< 的重载)

  • 专家经验

  • 编程示例

10. 所谓 stack (栈),所谓 heap (堆)

  • Objects 的生命期 (寿命)

  • new:先分配 memory 再调用 ctor

  • delete:先调用 dtor 再释放 memory

  • 动态分配内存块 (dynamically allocated memory block) 彻底认识

  • 动态分配所得的 array

  • new[] 一定要搭配 delete[]

  • 进一步补充:static, private ctors, cout, Class template, Function template, namespace, std::, boost::, tr1::

  • 标准库概述

  • 更多细节

11. Object Oriented (面向对象)

  • Composition (复合)表示 has-a

  • Composition (复合)关系之下,构造由内而外,析构由外而内。

  • Delegation (委托)就是 Composition by reference.

  • Inheritance (继承)表示 is-a

  • Inheritance (继承)关系之下,构造由内而外,析构由外而内

  • Inheritance+Composition 关系下的构造和析构

  • Inheritance (继承)并带有 virtual functions (虚函数)

  • 虚函数的经典用法1 : Template Method (模板方法)

  • 虚函数的经典用法2 : Polymorphism (多态)

  • 虚函数的奥秘:vptr(虚指针), vtbl(虚表), dynamic binding(动态绑定)

  • Delegation (委托) + Inheritance (继承) : Observer

  • Delegation (委托) + Inheritance (继承) : Composite

  • Delegation (委托) + Inheritance (继承) : Prototype

返回上一级