4006-998-758
3000+课程任你选择
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)很精深;为了以良好的面向对象观念和手法来设计和编写程序,每一位C++程序员或许都需要自问:我对「面向对象」了解多少?我是不是正确运用了面向对象的观念?我写的程序有未来性吗?


课程特色


深入浅出, 实例经典


课程对象


C++各层级的程序员


课程大纲


1. Single class的所谓BIG5 : copy constructor, copy assignment operator, move constructor, move assignment operator, destructor.

2. 从低阶角度看Class Hierarchies (阶层体系):

  • Construction(构造) 和Destruction(析构) 深究

  • ’this’ pointer深究

  • ’Virtual Functions’ 深究

  • ’Polymorphism’ 深究

  • ’Object Model’ 深究 (包含memory model, virtual mechanism, dynamic binding)

  • Abstraction深究; Liskov Substitution principle(里氏替换原则)

3. 从高阶角度看Classes间的各种关系

  • Composition (复合)

  • Inheritance (继承)

  • Aggregation (聚合)

  • Delegation (委托)

  • UML Classes Diagrams浅释

  • 设计模式 : Template Method, Strategy, Observer, Composite, Prototype (讲解数量取决于现场情况)

  • 专家经验 (取自《Effective C++》; 讲解数量取决于现场情况)

  • Item 13: Use objects to manage resources (RAII)

  • Item 32: Make sure public inheritance models “is-a”

  • Item 34: Differentiate between inheritance of interface and inheritance of implementation

  • Item 36: Never redefine an inherited non-virtual function

  • Item 38: Model “has-a” or “is-implemented-in-terms-of” through composition

  • Item 39: Use private inheritance judiciously

  • Item 18: Make interfaces easy to use correctly and hard to use incorrectly

  • Item 9: Never call virtual functions during construction or destruction

  • Item 25: Consider support for a non-throwing swap

  • Item 31: Minimize compilation dependencies between files

返回上一级