zoukankan      html  css  js  c++  java
  • C++面向对象编程高级培训

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

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

    一、课程目标

    本次课程围绕C++面向对象编程这一课题,深入的讲解C++ OOP语言机制,以及运用面向对象技术有效架构C++应用。通过本次课程的学习,学员将具备以下能力:

    • 深刻理解C++面向对象语言机制;
    • 面向对象编程的若干法则。

    二、参训要求

    参加本次课程的学员须具备以下能力:

    • 本次课程假定学员有编程经历,使用C/C++、Java或其它语言实际编写过代码;
    • 能熟练使用Windows或Linux下的C++编译器(如g++)、调试器(如gdb)。

    三、课程实践环境

    • 学员自备电脑
    • 实践平台 (以下二者之一):
      • Win32 / Visual Studio 2008 (或更新)
      • Linux 2.6.18+ x86-32 / GCC 4.1.2+ / Eclipse CDT 、vi

    四、课程大纲

    本次课程由以下几个部分构成:

    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若干法则和设计模式
      • 封装变化,分离不变与变化
      • 面向接口编程,而不是针对实现编程
      • 多用组合、少用继承
      • 努力保持交互对象间的松耦合
      • 类设计的开闭原则:类应该对扩展开放、对修改关闭
      • 依赖抽象,而不是依赖具体类
      • 最少知识原则
      • 好莱坞法则 (控制反转):不要打电话给我,我会找你的
      • 单一责任原则:一个类应该只有一个引起变化的原因

    五、时间安排

    课程时间:3天,以每天6小时计,具体安排如下:

    • Day1
      • 1 - 从C到C++
      • 2 - 深入C++对象
      • 3 - 操作符重载
    • Day2
      • 4 - 面向对象基础 -- 继承
      • 5 - 关于继承更多的话题
    • Day3
      • 6 - C++与面向对象设计
      • 课程回顾与总结

    六、课程资源

          可获取的课程资源见:教学资源

  • 相关阅读:
    数据挖掘入门系列教程(九)之基于sklearn的SVM使用
    问题_001_Vivian
    TypeScript学习笔记(五)
    TypeScript学习笔记(四)
    TypeScript学习笔记(三)
    TypeScript学习笔记(二)
    TypeScript学习笔记(一)
    使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(十)-- 发布(Windows)
    使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(九)-- 单元测试
    使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(八)-- 多环境开发
  • 原文地址:https://www.cnblogs.com/lexus/p/2565885.html
Copyright © 2011-2022 走看看