版本2和3间的区别
于2008-01-25 12:34:56修订的的版本2
大小: 11940
编辑: 218
备注:
于2008-02-23 15:35:56修订的的版本3
大小: 11941
编辑: localhost
备注: converted to 1.6 markup
删除的内容标记成这样。 加入的内容标记成这样。
行号 5: 行号 5:
 * 教材:[:面向对象程序设计教材:C++面向对象程序设计]  * 教材:[[面向对象程序设计教材|C++面向对象程序设计]]

温州大学课程教案

  • 学院:计算机科学与学院
  • 课程名称:面向对象程序设计B
  • 学时:54
  • 教材:C++面向对象程序设计

  • 授课教师:陈忠克
  • 授课对象:计算机本科

第一课

1. 授课时间:

4课时

2. 授课类型:

理论课

3. 授课题目:

面向对象程序设计概述

4. 本授课单元教学目标:

让学生了解计算机程序设计语言的发展;理解面向对象的概念和方法;理解程序的开发过程和面向对象程序的开发过程。

5. 本授课单元教学重点和难点:

面向对象的方法

6. 本授课单元教学过程设计:

  • 基础知识
  • 参考书
  • 如何学习C++和面向对象编程
  • 结构化的程序设计
  • 面向对象程序设计基本原理
  • 面向对象的三个特点
  • 面向对象程序设计的作用
  • 计算机语言的发展
  • 程序设计范式
  • 程序执行方式
  • 为什么选择C++
  • C++语言的发展历史
  • C++开发环境
  • 常用集成开发环境
  • C++程序开发流程

第二课

1. 授课时间:

4课时

2. 授课类型:

理论课

3. 授课题目:

C++面向过程程序设计1:从C语言到C++

4. 本授课单元教学目标:

让学生掌握C++与C语言的不同,包括注释、输入输出、命名空间。

5. 本授课单元教学重点和难点:

  • 重点:C++输入输出
  • 难点:命名空间

6. 本授课单元教学过程设计:

  1. 简单的C++程序实例
  2. 第一个C++程序 输出Hello world
  3. 第二个C++程序 求两数之和
  4. 第三个C++程序 求两个数中较大的一个
  5. 引出C++的新的注释风格
  6. 引出名字空间语法,为什么需要名字空间
  7. 引出C++的头文件习惯
  8. 引出C++的输入输出,介绍相对于C语言输入输出的好处
  9. 练习使用C++的输入输出

第三课

1. 授课时间:

4课时

2. 授课类型:

理论课

3. 授课题目:

C++面向过程程序设计:引用

4. 本授课单元教学目标:

掌握引用类型的使用,理解函数的引用参数传递,返回引用类型

5. 本授课单元教学重点和难点:

  • 重点:引用参数传递
  • 难点:引用返回类型

6. 本授课单元教学过程设计:

  1. 引用的定义
  2. 由swap函数引出引用参数的定义和用途
  3. 引用返回类型的定义和用途
  4. const引用的定义和用途
  5. 定义常量
  6. 强制类型转换
  7. bool类型
  8. 定义变量
  9. 结构体

第四课

1. 授课时间:

4课时

2. 授课类型:

理论课

3. 授课题目:

C++面向过程程序设计:函数

4. 本授课单元教学目标:

掌握内联函数、带缺省参数的函数的语法和适用场合;掌握函数重载的用途、定义。

5. 本授课单元教学重点和难点:

  • 重点:函数重载、缺省参数
  • 难点:

6. 本授课单元教学过程设计:

  • 函数的声明与定义
  • 由带参数宏引出内联函数
  • 由很多参数的函数引出代缺省参数的函数
  • 重载函数

第五课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++面向过程程序设计:其它语法

4. 本授课单元教学目标:

掌握C++内存分配、bool类型、string类型、变量定义规则、新型强制类型转换语法、const常量定义。

5. 本授课单元教学重点和难点:

  • 重点:string类型
  • 难点:内存分配

6. 本授课单元教学过程设计:

  • 介绍const常量定义
  • 介绍bool类型
  • 介绍四种强制类型转换
  • 介绍C++变量可以在多种地方定义
  • 对比C语言和C++语言的内存分配
  • 对比C语言的字符串和C++的string类

第六课

1. 授课时间:

4课时

2. 授课类型:

理论课

3. 授课题目:

C++基于对象程序设计:类和对象

4. 本授课单元教学目标:

掌握面向对象程序设计的基本概念,牢固掌握类的声明,类成员的访问控制,类的成员函数,对象的声明等类与对象的基本语法内容

5. 本授课单元教学重点和难点:

重点:成员函数 难点:成员函数、访问权限

6. 本授课单元教学过程设计:

  1. 用例子说明C语言中定义自定义类型的方法:用C语言结构体定义自定义类型,用函数实现操作结构体的方法
  2. 将C语言的结构体和操作结构体的函数结合在一起,引出C++类的概念
  3. 举例说明C++类的语法
  4. 举例说明对象的定义方法
  5. 练习类和对象的使用
  6. 举例说明类成员的访问权限控制

第七课

1. 授课时间:

4课时

2. 授课类型:

理论课

3. 授课题目:

C++基于对象程序设计:对象的构造和析构

4. 本授课单元教学目标:

牢固掌握构造函数和析构函数,拷贝构造函数的概念和写法

5. 本授课单元教学重点和难点:

  • 重点:构造函数
  • 难点:拷贝构造函数

6. 本授课单元教学过程设计:

  1. 举例说明构造函数的作用
  2. 介绍构造函数的定义语法
  3. 举例说明构造函数可以重载
  4. 举例说明调用构造函数定义对象的方法
  5. 组合对象的构造
  6. 举例说明对象的析构函数的作用
  7. 举例说明拷贝构造函数的作用
  8. 练习构造函数、拷贝构造函数、析构函数的使用

第八课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++基于对象程序设计:类和对象的其它方面

4. 本授课单元教学目标:

牢固掌握静态数据成员的定义,掌握静态成员函数的定义和使用;理解并掌握友元函数和友元类,friend保留字;理解并掌握常引用、常对象和常成员函数。

5. 本授课单元教学重点和难点:

  • 重点:
  • 难点:静态成员

6. 本授课单元教学过程设计:

  1. 举例说明静态数据成员的用途
  2. 举例说明静态成员函数的用途
  3. 练习使用静态成员
  4. 举例说明友员函数的作用
  5. 举例说明友员类的作用
  6. 举例说明常成员函数的用法
  7. 举例说明常对象的用法

第九课

1. 授课时间:

4课时

2. 授课类型:

理论课

3. 授课题目:

C++面向对象程序设计:继承

4. 本授课单元教学目标:

掌握派生类的声明,派生的访问控制;理解派生类的构造和析构函数。

5. 本授课单元教学重点和难点:

  • 重点:继承的概念,派生类定义方法,派生类的构造
  • 难点:派生类的权限

6. 本授课单元教学过程设计:

  1. 举实例说明继承的概念
  2. 派生类的定义方法
  3. 举例说明派生类的初始化方法,构造函数的定义
  4. 举例说明派生类的析构函数
  5. 举例说明派生类的权限控制

第十课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++面向对象程序设计:多继承

4. 本授课单元教学目标:

掌握多基类的派生类的声明,掌握虚基类的定义

5. 本授课单元教学重点和难点:

  • 重点:
  • 难点:虚基类的构造

6. 本授课单元教学过程设计:

  1. 举实例说明多继承的定义方法
  2. 举例说明虚基类的用途和使用方法
  3. 虚基类的构造方法

第十一课

1. 授课时间:

4课时

2. 授课类型:

理论课

3. 授课题目:

C++面向对象程序设计:虚函数

4. 本授课单元教学目标:

掌握多态的概念,掌握虚函数的定义

5. 本授课单元教学重点和难点:

  • 重点:虚函数
  • 难点:虚析构函数

6. 本授课单元教学过程设计:

  1. 举例说明多态的概念
  2. 举例说明多态的实现方法,引出虚函数
  3. 说明实现多态的必备条件
  4. 练习使用虚函数
  5. 介绍虚析构函数的用途

第十二课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++面向对象程序设计:纯虚函数

4. 本授课单元教学目标:

掌握纯虚函数的定义,掌握抽象类的概念

5. 本授课单元教学重点和难点:

  • 重点:纯虚函数
  • 难点:

6. 本授课单元教学过程设计:

  1. 举例说明纯虚函数的用途
  2. 介绍抽象类的概念
  3. 介绍接口类的概念
  4. 介绍面向对象的设计方法

第十三课

1. 授课时间:

4课时

2. 授课类型:

理论课

3. 授课题目:

C++运算符重载:运算符重载概述

4. 本授课单元教学目标:

5. 本授课单元教学重点和难点:

  • 重点:
  • 难点:二元运算符和一元运算符的区别

6. 本授课单元教学过程设计:

  • 没有运算符重载的情况下,类是使用的(complex类、string类)
  • 定义运算符后,类的使用得到简化
  • 定义运算符的一般规则
  • 定义二元运算符的规则
  • 定义一元运算符的规则
  • 使用运算符重载的完整的例子(complex类)
  • 练习:定义分数类

第十四课

1. 授课时间:

4课时

2. 授课类型:

理论课

3. 授课题目:

C++运算符重载:特殊运算符重载

4. 本授课单元教学目标:

掌握模板函数、模板类的定义和用途。

5. 本授课单元教学重点和难点:

  • 重点:模板函数、模板类
  • 难点

6. 本授课单元教学过程设计:

  1. <<和>>运算符的重载
  2. = 运算符的重载
  3. 类型转换 运算符的重载
  4. [ ] 运算符的重载
  5. () 运算符的重载
  6. ++和-- 运算符的重载
  7. -> 运算符的重载

  8. new, delete 运算符的重载
  9. string类的例子

第十五课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++泛型程序设计

4. 本授课单元教学目标:

掌握模板函数、模板类的定义和用途。

5. 本授课单元教学重点和难点:

  • 重点:模板函数、模板类
  • 难点:函数模板参数的推导

6. 本授课单元教学过程设计:

  1. 为什么需要函数模板
  2. 函数模板如何定义
  3. 函数模板如何使用
  4. 函数模板出现歧异
  5. 函数模板的重载
  6. 为什么需要类模板
  7. 类模板如何定义
  8. 类模板如何使用

第十六课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++标准库:输入输出流库

4. 本授课单元教学目标:

掌握基本的文件流和字符串流的使用

5. 本授课单元教学重点和难点:

  • 重点:流的概念,文件操作
  • 难点:字符串流的使用

6. 本授课单元教学过程设计:

  • 文件输入流ofstream使用举例
  • 文件输出流ifstream使用举例
  • 字符串输出流ostringstream使用举例
  • 字符串输出流istringstream使用举例

第十七课

1. 授课时间:

2课时

2. 授课类型:

理论课

3. 授课题目:

C++标准库:容器

4. 本授课单元教学目标:

掌握简单容器的使用

5. 本授课单元教学重点和难点:

重点:vector和list的使用 难点:跌代子的理解和使用

6. 本授课单元教学过程设计:

  • vector的使用举例
  • 用vector作为栈使用的例子
  • list的使用举例
  • 常用泛型函数的使用举例

面向对象程序设计教案B (2008-02-23 15:35:56由localhost编辑)

ch3n2k.com | Copyright (c) 2004-2020 czk.