您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C++面向对象程序设计教案
1计算机学院教师备课专用纸章第一章面向对象程序设计概述节1.11.21.3授课题目第1讲面向对象程序设计概述授课班级计科12所需课时3授课时间2015年3月13日星期五第1周教学目的与要求:(1)了解面向对象程序设计的基本概念和基本特征;(2)了解传统程序设计方法的局限性及面向对象程序设计优点;(3)了解面向对象程序设计语言的发展概况教学内容(包括基本内容、重点、难点)内容:1、什么是面向对象程序设计(1)一种新的程序设计范型(2)面向对象程序设计的基本概念:对象,类,消息,方法(3)面向对象程序设计的基本特征:抽象,封装,继承,多态2、使用面向对象程序设计的理由(1)传统程序设计方法的局限性(2)面向对象程序设计优点3、面向对象程序设计的语言(1)面向对象程序设计语言的发展(2)几种典型的面向对象程序设计语言4、C++开发环境的介绍VC6.0/VS2010重点:面向对象程序设计的基本概念、基本特征,C++开发环境难点:无讨论题、思考题、作业:讨论题:如何抽象?思考题:对象与类的关系作业:P131-2,1-5,1-6,1-9授课类型:理论课□√讨论课□√实验课□习题课□其他□教学方式:讲授□√讨论□√其他□教学资源:多媒体□√其他□2计算机学院教师备课专用纸章第二章C++概述节2.12.22.3授课题目第2讲C++源程序的基本结构授课班级计科12所需课时3授课时间2015年3月20日星期五第2周教学目的与要求:(1)了解C++的起源和特点;(2)掌握C++源程序的构成;(3)掌握C++的基本输入输出和符号常量教学内容(包括基本内容、重点、难点)内容:1、C++的起源和特点(1)C++的起源(2)C++语言的特点2、C++源程序的构成(1)简单的C++程序(2)C++程序的结构特性(3)C++程序的编辑、编译、连接和运行3、C++在非面向对象方面的扩充(1)注释行(2)C++的输入输出(3)灵活的局部变量说明(4)结构、联合和枚举名可直接作为类型名(5)const修饰符(6)函数原型重点:C++程序的基本结构,C++的输入输出,const修饰符难点:const修饰符讨论题、思考题、作业:讨论题:使用const修饰符的三种情形思考题:C++中如何消除无参宏定义的不安全性作业:无授课类型:理论课□√讨论课□√实验课□习题课□其他□教学方式:讲授□√讨论□√其他□教学资源:多媒体□√其他□3计算机学院教师备课专用纸章第二章C++概述节2.3授课题目第3讲C++在非面向对象方面的扩充授课班级计科12所需课时3授课时间2015年3月27日星期五第3周教学目的与要求:(1)了解无名联合及强制类型转换;(2)掌握内联函数,函数的重载;(3)掌握学会使用new和delete;(4)熟练掌握引用教学内容(包括基本内容、重点、难点)内容:C++在非面向对象方面的扩充(1)内联函数(2)带有默认参数的函数(3)函数的重载(4)作用域运算符∷(5)无名联合(6)强制类型转换(7)运算符new和delete(8)引用重点:函数的重载,运算符new和delete,引用难点:引用讨论题、思考题、作业:讨论题:为什么使用引用?是否所有的函数都可以定义为内联函数?思考题:动态分配内存和静态分配内存的区别?作业:2-19,2-20,2-22,2-23,2-25授课类型:理论课□√讨论课□√实验课□习题课□其他□教学方式:讲授□√讨论□√其他□教学资源:多媒体□√其他□4计算机学院教师备课专用纸章第三章类和对象节3.1授课题目第4讲类与对象的基本概念授课班级计科12所需课时3授课时间2015年4月3日星期五第4周教学目的与要求:(1)掌握类的定义;(2)学会访问属性的使用;(3)熟练掌握对象的定义及使用教学内容(包括基本内容、重点、难点)内容:类与对象的基本概念(1)结构体与类:类的声明与实现,访问权限(2)成员函数的定义:类内和类外实现,将成员函数以内联函数的形式说明(3)对象的定义及使用:先定义类,然后在类外定义对象,并通过对象访问公有成员;访问对象中成员的3种方式(4)类的作用域和类成员的访问属性重点:类的定义,对象的定义,访问属性难点:类的定义讨论题、思考题、作业:讨论题:能否在类的内部定义该类的对象?思考题:通过对象指针访问对象成员的语法形式作业:无授课类型:理论课□√讨论课□√实验课□习题课□其他□教学方式:讲授□√讨论□√其他□教学资源:多媒体□√其他□5计算机学院教师备课专用纸章第三章类和对象节3.2授课题目第5讲构造函数与析构函数授课班级计科12所需课时3授课时间2015年4月10日星期五第5周教学目的与要求:(1)了解构造函数与析构函数的作用与特点;(2)掌握构造函数与析构函数的定义与实现,包括构造函数的重载与带默认值的构造函数;(3)掌握学会使用new和delete动态创建和销毁对象;(4)熟练掌握初始化列表教学内容(包括基本内容、重点、难点)内容:1、对象的初始化和构造函数(1)构造函数的作用与特性(2)构造函数的定义(3)创建对象的两种方法2、用成员初始化列表对数据成员初始化(1)赋值初始化(2)列表初始化(3)引用和常类型数据成员只能用列表初始化3、构造函数的重载4、带默认参数的构造函数5、析构函数(1)析构函数的作用与特点(2)析构函数的定义6、随堂练习题重点:构造函数,数据成员的初始化,析构函数难点:构造函数的定义讨论题、思考题、作业:讨论题:什么情形下系统不提供默认构造函数?思考题:创建对象,系统自动调用构造函数的顺序;对象消亡,系统自动调用析构函数的顺序作业:无授课类型:理论课□√讨论课□√实验课□习题课□其他□教学方式:讲授□√讨论□√其他□教学资源:多媒体□√其他□6计算机学院教师备课专用纸章第三章类和对象节3.33.43.53.63.7授课题目第6讲对象数组与对象指针string类函数参数类型为类类型对象的赋值和复制静态成员授课班级计科12所需课时3授课时间2015年4月17日星期五第6周教学目的与要求:(1)熟练使用对象数组、对象指针和对象作为函数参数(2)了解string类;(3)熟练掌握拷贝构造函数的定义、实现及使用;(4)实现数据的共享—熟练掌握静态成员的初始化与使用;教学内容(包括基本内容、重点、难点)内容:1、对象数组与对象指针(1)对象数组定义、初始化与使用(2)对象指针的使用(3)this指针的概念和使用2、向函数传递对象(1)传值-对象作为函数参数(2)传址-对象指针、对象引用作为函数参数3、拷贝构造函数(1)定义实现(2)系统调用拷贝构造函数的四种情形重点:拷贝构造函数、静态成员难点:深拷贝讨论题、思考题、作业:讨论题:(1)四种情形中的后两种中为什么也会调用拷贝构造函数?(2)一般拷贝构造函数的形参为什么思考题:创建对象,系统自动调用构造函数的顺序;对象消亡,系统自动调用析构函数的顺序作业:无授课类型:理论课□√讨论课□√实验课□习题课□其他□教学方式:讲授□√讨论□√其他□教学资源:多媒体□√其他□4、数据的共享—静态成员(1)作用(2)静态数据成员的定义与初始化(2)静态成员函数的定义与使用5、小结本节内容7计算机学院教师备课专用纸章第三章类和对象节3.83.93.10授课题目第7讲友元类的组合常类型授课班级计科12所需课时3授课时间2015年4月23日星期五第7周教学目的与要求:(1)掌握友元的使用(2)掌握组合类的使用;(3)实现数据的保护—熟练掌握常类型的使用;教学内容(包括基本内容、重点、难点)内容:1、友元(1)非成员函数和成员函数分别声明为友元函数(2)友元类(3)使用友元时的注意事项2、类的组合(1)组合类构造函数的定义与实现(2)组合类的使用3、常类型(1)常引用(2)常对象(3)常数据成员和常成员函数4、小结本节内容重点:常成员难点:组合类讨论题、思考题、作业:讨论题:(1)使用友元的弊端?(2)为什么要使用常类型?思考题:一般把什么样的成员函数定义为常成员函数?作业:3-14,3-16,3-18,3-20,3-24,3-26,3-28,3-30,3-32,3-34,3-36授课类型:理论课□√讨论课□√实验课□习题课□其他□教学方式:讲授□√讨论□√其他□教学资源:多媒体□√其他□8计算机学院教师备课专用纸章第四章派生类与继承节4.14.2授课题目第8讲派生类的概念派生类的构造函数和析构函数授课班级计科12所需课时3授课时间2015年5月8日星期五第9周教学目的与要求:(1)熟练掌握基类成员在三种派生方式下派生类中的访问属性的变化;(2)熟练掌握派生类的构造函数和析构函数教学内容(包括基本内容、重点、难点)内容:1、派生类的概念(1)为什么要使用继承(2)派生类的声明(3)派生类的构成(4)基类成员在派生类中的访问属性(5)派生类对基类成员的访问规则2、派生类的构造函数和析构函数(1)派生类构造函数和析构函数的执行顺序(2)派生类构造函数和析构函数的构造规则重点:基类成员在派生类中的访问属性难点:基类成员在派生类中的访问属性的变化讨论题、思考题、作业:讨论题:(1)为什么要使用继承?(2)派生类成员函数和派生类对象分别对基类成员的访问规则?思考题:通过继承可以改变基类成员的访问属性,还有其他改变基类成员的访问属性吗?作业:无授课类型:理论课□√讨论课□√实验课□习题课□其他□教学方式:讲授□√讨论□√其他□教学资源:多媒体□√其他□9计算机学院教师备课专用纸章第四章派生类与继承节4.34.44.5授课题目第9讲调整基类成员访问属性的其他方法多重继承基类与派生类对象之间的赋值兼容授课班级计科12所需课时3授课时间2015年5月15日星期五第10周教学目的与要求:(1)掌握基类成员在派生类中的访问属性改变的其他方法;(2)熟练掌握多重继承教学内容(包括基本内容、重点、难点)内容:1、调整基类成员在派生类中的访问属性的其他方法(1)同名成员(2)访问声明2、多重继承(1)多重继承派生类的声明(2)多重继承派生类的构造函数与析构函数(3)虚基类(4)虚基类的初始化3、基类与派生类对象之间的赋值兼容关系重点:多重继承派生类的构造函数,虚基类难点:多重继承派生类的构造函数讨论题、思考题、作业:讨论题:(1)为什么在多重继承中要使用虚基类?(2)派生类构造函数调用多个基类构造函数的顺序?思考题:如果在继承中存在虚基类,派生类构造函数应如何定义?作业:4-14,4-16,4-18,4-20,4-22,4-24授课类型:理论课□√讨论课□√实验课□习题课□其他□教学方式:讲授□√讨论□√其他□教学资源:多媒体□√其他□10计算机学院教师备课专用纸章第五章多态性节5.15.2授课题目第10讲静态多态和动态多态运算符重载授课班级计科12所需课时3授课时间2015年5月22日星期五第11周教学目的与要求:(1)理解C++中多态的概念;(2)理解静态多态和动态多态的区别;(3)熟练掌握运算符的重载。教学内容(包括基本内容、重点、难点)内容:1、编译时的多态性与运行时的多态性(1)多态的分类(2)多态的实现2、运算符重载(1)运算符重载的好处(2)运算符重载的规则(3)双目运算符重载为友元函数(4)双目运算符重载为成员函数(5)单目运算符重载为友元函数(6)单目运算符重载为成员函数重点:单双目运算符分别重载为友元函数和成员函数难点:单双目运算符分别重载为友元函数和成员函数的参数要求、调用方式及返回为引用和非引用讨论题、思考题、作业:讨论题:(1)为什么要进行运算符的重载?(2)单目运算符重载为成员函数时,无参数,返回时应如何返回对象?思考题:如果判断运算符重载函数返回的是对象还是对象的引用?作业:无授课类型:理论课□√讨论课□√实验课□习题课□其他□教学方式:讲授□√讨论□√其他□教学资源:多媒体□√其他□11计算机学院教师备课专用纸章第五章多态性节5.35.4授课题目第11讲类型转换虚函数授课班级计科12所需课时3授课时间2015年5月29日星期五第12周教学目的与要求:(1)掌握预定义
本文标题:C++面向对象程序设计教案
链接地址:https://www.777doc.com/doc-3882135 .html