一、课程性质与特点
面向对象程序设计是高等教育自学考试软件工程(本科)、工业自动化(本科)
专业的选考课程。它是为满足从事软件工程工作人才的需要而设置的。本课程的
任务是通过全面、系统地学习面向对象程序设计的基本概念、分析方法、设计方
法、C++语言基本语法和编程方法;全面理解 C++语言面向对象的基本特性,其
内容包括类、对象、派生类、继承、多态性、虚函数、模板、流类库等;深刻理
解和领会面向对象程序设计的特点和风格,类的封装性、继承性和多态性与程序
的安全性、结构性和灵活多样性之间的关系,达到掌握其设计方法和编程基础的
目的,使考生为以后学习 Java 语言程序设计、软件工程等后继课程及进行课程设
计打下必备的基础,并且为以后从事应用软件开发提供合适的工具。
二、课程目标与基本要求
通过本课程的学习,要求考生:
1.应了解面向对象的思想和基本概念。
2.应理解 C++保留字和基本数据类型,掌握 C++语言常用运算符的意义、表
达式书写方法,能熟练运用基本流程控制语句。
3.掌握函数的概念、定义和调用方法。理解C++函数参数传递的方法,理解
变量的作用域与生存期的概念。
4.能加深理解和掌握面向对象的核心概念——类和对象。能定义类,并利用
类创建对象,通过访问对象的成员实现对象的联系。设计含有类和对象的应用程
序。
5.掌握 C++语言指针和数组的定义和使用方法,要求能编写包含复合数据类
型数据处理的应用程序。
6.能设计合理的类层次,并使用继承和派生构造应用程序。
7.深刻理解多态性,掌握实现多态性的方法及其在面向对象中的重要意义。
8.深刻理解类属和模板的概念,掌握函数模板和类模板的定义和使用。
9.掌握从需求分析、程序设计到程序编码的面向对象方法。掌握面向对象方
法开发软件的开发过程。
10.能熟练使用 C++语言采用面向对象方法进行应用程序的开发。
要求考生能切实掌握 C++程序设计语言作为实际工作中的工具,并为以后学
习其它课程打下基础,本课程是一门实践性很强的课程,要求考生不仅要掌握编
程方法,而且能在计算机上调试和测试一般的程序。
02328 面向对象程序设计考试大纲 第 2 页(共 12 页)
三、与本专业其他课程的关系
本课程的先行课程为计算机导论,以便对计算机软硬件相关概念有一个初步
的了解,本课程的后继课程是 Java 语言程序设计等,本课程学习的面向对象程序
设计的思想和基础概念帮助考生学习 Java 语言程序设计,本课程是课程设计的选
作课程之一,学好本门课程将有助于课程设计。
第二部分 考核内容与考核目标
第一章 程序设计与 C++语言初步
一、学习目的与要求
了解程序的相关概念,程序设计的主要方法,程序设计语言的构成,C++语言
程序的基本结构,掌握 C++程序的运行方法和过程。
二、考核知识点与考核目标
(一)C++语言程序的基本程序结构,面向对象程序设计的特点(重点)
识记:main()函数
理解:类,对象,数据封装,继承,多态性
(二)C++程序的运行方法和过程(次重点)
识记:源代码,目标代码,C++的注释
理解:C++语言程序的运行过程
(三)程序的相关概念(一般)
理解:算法,实体,程序,程序设计的概念
第二章 基本数据类型
一、学习目的与要求
本章介绍 C++语言的一些基本知识,包括标识符、数据类型、变量、常量、
基本数据类型,基本的输入和输出方法,熟练掌握 C++各种运算符的使用方法。
能熟练运用运算符组成需要的表达式。正确使用操作数的类型转换和运算符的优
先级顺序和结合性。通过本章的学习,应该能够编写完成简单计算的 C++程序。
二、考核知识点与考核目标
(一)C++语言的基本数据类型和运算(次重点)
识记:C++标识符命名,各种运算符的含义,各种基本数据类型及其常量的
表达,符号常量的声明
理解:运算符的优先级和结合性,隐式类型转换规则,强制类型转换的表
达方法
应用:运用运算符组成需要的表达式
02328 面向对象程序设计考试大纲 第 3 页(共 12 页)
第三章 基本控制结构
一、学习目的与要求
本章介绍了 C++的流程控制语句,包括分支语句:if、if-else 语句,多分支 switch
语句;循环语句:for、 while、 do-while 语句;break、 continue 语句,要求能分
析 C++程序的执行流程,要求掌握 C++的流程控制语句的书写形式和语句语义及
使用方法。
二、考核知识点与考核目标
(一)三种循环的异同(重点)
识记:break、 continue,条件表达式的短路求值,switch (表达式)中表达式
的类型
理解:C++简单程序的执行流程,else 最近匹配原则,三种循环的异同
应用:C++的流程控制语句的书写形式和语句的语义,编写简单的 C++程序
第四章 函数
一、学习目的与要求
掌握函数的概念、定义和调用方法。理解 C++函数参数传递的方法,掌握函
数参数值传递的过程,并能够灵活运用。理解递归的概念,并能运用递归的方法
解决一些实际问题。理解变量的作用域与生存期的概念,能够理解全局变量、局
部变量、静态变量的概念和用法。理解宏定义、文件包含和条件编译的三种预处
理命令的形式、作用和使用方法。
二、考核知识点与考核目标
(一)掌握函数的定义、声明、调用的方法,函数参数传递方式、值传递的过程
和运用,局部变量、全局变量和静态变量的概念与运用。函数的调用过程
(重点)
识记:函数的定义、声明、函数原型,内联函数的定义,static、inline、extern
等关键字
理解:函数参数传递方式、值传递的过程,标志符的作用域、变量的生存
期局部变量、全局变量和静态变量的概念与运用,内联函数的作用
应用:函数的定义和调用方法
(二)理解递归的概念,带缺省参数的函数的定义和调用,理解宏定义、文件包
含和条件编译三种预处理命令的形式、作用和使用方法(一般)
识记:递归的概念,带缺省参数的函数的定义和调用方法,常见库函数及
其用法
理解:递归函数的运行过程,三种预处理命令的形式、作用和使用方法
应用:分析和编写简单递归函数
02328 面向对象程序设计考试大纲 第 4 页(共 12 页)
第五章 类与对象
一、学习目的与要求
理解类的概念及其作用,类的定义,用类声明与创建对象,访问对象成员的
方法,对象初始化及其析构,掌握使用类和对象进行编程。
二、考核知识点与考核目标
(一)1.定义类,对象的创建和对象的初始化(重点)
识记:标识符的类作用域,析构函数, static 及 static 成员的特性及作用
理解:类界面、作用域运算符,类成员函数的实现,对象的生存期,构造
函数及对象的初始化,对象成员的定义方法,使用初始化列表实现
对象成员和常量成员的初始化,对象成员构造函数和析构函数的调
用顺序
应用:声明类的方法,类成员的访问控制,对象声明,使用对象成员
(二)关于类与对象的进一步讨论(一般)
识记:基本数据类型的变量类似对象的初始化形式
理解:对象,类,抽象数据类型之间的关系
第六章 复合数据类型
一、学习目的与要求
理解指针和引用的基本概念。包括指针和引用的定义方法与初始化等。掌握
内存的动态申请与释放的方法,掌握指针和引用作为函数的参数的用法。搞清楚
引用传递与值传递的区别。搞清楚指针与数组的关系;掌握数组的定义与使用方
法,学会利用数组组织相同类型的数据,编写适合循环处理的程序,掌握数组元
素的初始化方法。掌握字符数组处理字符串的技巧。熟悉字符串处理函数的功能
及使用方法。掌握数组作为函数参数的使用方法。理解指向对象的指针,掌握动
态地创建与撤销对象的方法,要求能编写包含复合数据类型数据处理的应用程序。
二、考核知识点与考核目标
(一)指针的声明,指针的引用,指针的运算,按引用调用的参数传递方式,一
维数组的声明,一维数组元素的引用与初始化,数组作为函数的参数,指
向对象的指针(重点)
识记:指针的声明,一维数组的声明,对象指针的声明
理解:指针的引用,指针的运算,一维数组元素的引用与初始化,指针与
数组的关系,对象的复制与比较,数组作为函数的参数,对象的浅
复制和深复制
应用:内存的动态申请与释放,new 和 delete 的作用,引用的作用和使用方
法,按引用调用的参数传递方式,对象的动态创建与撤销
(二)指向函数的指针,结构类型、枚举类型与类型别名(一般)
识记:字符串及字符串操作的库函数,指向函数的指针的定义和访问,结
构类型的定义方法、枚举类型的定义方法与类型别名定义方法
02328 面向对象程序设计考试大纲 第 5 页(共 12 页)
理解:结构类型的定义与类定义的区别,枚举常量与整形值的对应关系及显
式定义枚举常量对应的整形值的方法
第七章 继承机制
一、学习目的与要求
掌握单一继承、多重继承、两义性、支配规则和虚基类的概念,掌握派生类
的访问权限,构造函数与析构函数的调用顺序,理解两义性产生的原因及处理方
法,能熟练运用作用域运算符,掌握赋值兼容规则。
二、考核知识点与考核目标
(一)继承的概念,继承的实现方法,继承成员的访问控制规则,类型兼容性规
则,派生类对象继承自基类的成员初始化的方法和析构方法(重点)
识记:继承的概念,继承成员的访问控制规则,访问控制声明
理解:理解基类和派生类的概念,类型兼容性规则,派生类对象继承自基
类的成员初始化的方法和析构方法,父子类构造函数与析构函数的
调用顺序,父子类成员函数重载,成员函数的重定义的区别,重定
义后的成员函数的支配规则
应用:利用继承机制实现类层次编程
(二)多重继承,多重继承的名字冲突问题及解决方法,虚基类及其作用(次重点)
识记:多重继承的实现方法,虚基类的定义方法
理解:多重继承的名字冲突问题及解决方法,虚基类的作用及虚基类成员
初始化方法
第八章 多态性
一、学习目的与要求
深刻理解多态性、编译时多态性、运行时多态性,纯虚函数、抽象类等概念,
深刻理解多态性在面向对象程序设计中的重要意义,熟练掌握实现静态多态性的
方法;熟练掌握实现动态多态性的方法。
二、考核知识点与考核目标
(一)多态性的含义,作用及实现方式,虚函数和动态绑定,运行时多态性和各
成员函数的调用,纯虚函数、抽象类的含义及应用(重点)
识记:多态性,编译时多态性、运行时多态性,纯虚函数,抽象类等概念
理解:函数调用的两种绑定方式,虚函数和纯虚函数运行情况,运行时多
态性出现的条件
应用:如何用虚函数实现多态性
(二)函数重载,运算符重载,拷贝构造函数的作用(次重点)
识记:函数合法重载的定义,调用重载函数应避免出现二义性,拷贝构造
函数的定义方法,运算符重载的两种方式,关键字 operator 的含义,
friend 的含义及友员的定义方法,重载运算符时应该遵守的规则
02328 面向对象程序设计考试大纲 第 6 页(共 12 页)
理解:拷贝构造函数的作用,运算符友元重载函数和成员重载函数在参数
上的区别
第九章 类属机制
一、学习目的与要求
深刻理解类属和模板的概念,掌握函数模板和类模板的定义和使用。
二、考核知识点与考核目标
(一)C++语言使用模板来实现类属机制。函数的模板和类模板定义和使用(次重点)
识记:模板的概念,函数模板,类模板,template 关键字
理解:定义函数模板和定义类模板的方法,类属函数的实例化和类属类的
实例化,C++编译器在匹配函数时的约定
第十章 输入/输出流
一、学习目的与要求
了解 C++流类库的基本结构,掌握格式化输入、输出的实现方法,掌握重载
“>>”和“<<”运算符实现自定义输入输出的方法。掌握通过文件流实现文件的
操作的方法。
二、考核知识点与考核目标
(一)C++标准输入输出流的使用,数据格式化输入/输出,文件流的用法(次重点)
识记:C++语言的输入/输出,C++流类库。格式化输入/输出,输入输出
操作符,流类库提供的常用成员输入/输出函数,文件流及各种文件
操作
理解:重载“<<”和“>>”来设计自已的输入/输出操作
第十一章 面向对象软件构造
一、学习目的与要求
应了解影响一个程序的主要质量因素;掌握从需求分析、程序设计到程序编
码的面向对象方法。掌握面向对象方法开发软件的开发过程。
二、考核知识点与考核目标
(一)软件质量因素,面向对象软件构造过程(一般)
识记:程序可靠性,可扩展性,可重用性
理解:面向对象软件构造过程
第十二章 结束语
(本章不作考核要求)
02328 面向对象程序设计考试大纲 第 7 页(共 12 页)
第三部分 有关说明与实施要求
一、考核的能力层次表述
本大纲在考核目标中,按照“识记”、“理解”、“应用”三个能力层次规定其
应达到的能力层次要求。各能力层次为递进等级关系,后者必须建立在前者的基
础上,其含义是:
识记:能知道有关的名词、概念、知识的含义,并能正确认识和表述,是低层
次的要求。
理解:在识记的基础上,能全面把握基本概念、基本原理、基本方法,能掌握
有关概念、原理、方法的区别与联系,是较高层次的要求。
应用:在理解的基础上,能运用基本概念、基本原理、基本方法联系学过的多
个知识点分析和解决有关的理论问题和实际问题,是较高层次的要求。
二、教材
指定教材:面向对象程序设计基础,李师贤,高等教育出版社,2005 年 2 版
三、自学方法指导
1.在开始阅读指定教材某一章之前,先翻阅大纲中有关这一章的考核知识点
及对知识点的能力层次要求和考核目标,以便在阅读教材时做到心中有
数,有的放矢。
2.阅读教材时,要逐段细读,逐句推敲,集中精力,吃透每一个知识点,对
基本概念必须深刻理解,对基本理论必须彻底弄清,对基本方法必须牢固
掌握。
3.在自学过程中,既要思考问题,也要做好阅读笔记,把教材中的基本概念、
原理、方法等加以整理,这可从中加深对问题的认知、理解和记忆,以利
于突出重点,并涵盖整个内容,可以不断提高自学能力。
4.完成书后作业和适当的辅导练习是理解、消化和巩固所学知识,培养分析
问题、解决问题及提高能力的重要环节,在做练习之前,应认真阅读教材,
按考核目标所要求的不同层次,掌握教材内容,在练习过程中对所学知识
进行合理的回顾与发挥,注重理论联系实际和具体问题具体分析,解题时
应注意培养逻辑性,针对问题围绕相关知识点进行层次(步骤)分明的论
述或推导,明确各层次(步骤)间的逻辑关系。
四、对社会助学的要求
1.应熟知考试大纲对课程提出的总要求和各章的知识点。
2.应掌握各知识点要求达到的能力层次,并深刻理解对各知识点的考核目标。
3.辅导时,应以考试大纲为依据,指定的教材为基础,不要随意增删内容,
以免与大纲脱节。
4.辅导时,应对学习方法进行指导,宜提倡“认真阅读教材,刻苦钻研教材,
主动争取帮助,依靠自己学通”的方法。
5.辅导时,要注意突出重点,对考生提出的问题,不要有问即答,要积极启
发引导。
02328 面向对象程序设计考试大纲 第 8 页(共 12 页)
6.注意对考生能力的培养,特别是自学能力的培养,要引导考生逐步学会独
立学习,在自学过程中善于提出问题,分析问题,做出判断,解决问题。
7.要使考生了解试题的难易与能力层次高低两者不完全是一回事,在各个能
力层次中会存在着不同难度的试题。
8.助学学时:本课程共 3 学分,建议总课时 54 学时,其中助学课时分配如
下:
章 次 内 容 学 时
第一章 程序设计与 C++语言初步 2
第二章 基本数据类型 4
第三章 基本控制结构 4
第四章 函数 6
第五章 类与对象 6
第六章 复合数据类型 8
第七章 继承机制 8
第八章 多态性 6
第九章 类属机制 4
第十章 输入/输出流 4
第十一章 面向对象软件构造 2
合 计 54
另第五、六、七、八章每章安排 2 学时习题课,共 54 学时。
五、关于命题考试的若干规定
1.本大纲各章所提到的内容和考核目标都是考试内容。试题覆盖到章,适当
突出重点。
2.试卷中对不同能力层次的试题比例大致是:“识记”为 20%、“理解”为
30%、“应用”为 50%。
3.试题难易程度应合理:易、较易、较难、难比例为 2:3:3:2。
4.每份试卷中,各类考核点所占比例约为:重点占 60%,次重点占 30%,一
般占 10%。
5.试题类型一般分为:单项选择题、填空题、程序改错题、程序填空题、程
序分析题、程序设计题。
6.考试采用闭卷笔试,考试时间 150 分钟,采用百分制评分,60 分合格。
六、题型示例(样题)
一、单项选择题(本大题共■小题,每小题■分,共■分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”
上的相应字母涂黑。错涂、多涂或未涂均无分。
1.所谓多态性是指
A.不同的对象调用不同名称的函数 B.不同的对象调用相同名称的函数
C.一个对象调用不同名称的函数 D.一个对象调用不同名称的对象
02328 面向对象程序设计考试大纲 第 9 页(共 12 页)
2.以下有关继承的叙述正确的是
A.构造函数和析构函数都能被继承
B.派生类是基类的组合
C.派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员
D.基类的公有成员一定能被派生类的对象访问
二、填空题(本大题共■小题,每小题■分,共■分)
1.对虚函数使用对象指针或引用,系统使用______联编,对虚函数使用对象调用时,系
统使用______联编。
2.静态成员定义的关键字为____,一般通过 限定来访问静态成员。
三、程序改错题(本大题共■小题,每小题■分,共■分)
1.下面程序中有一处错误,请用下横线标出错误所在行并说明出错原因。
class base{
protected:
int p;
public:
Base(int m){p=m;}
};
void f()
{ Base a(10);
cout<
}
2.下面程序中有一处错误,请用下横线标出错误所在行并说明出错原因。
class Base{
public: virtual void fun()=0;
};
class Test: public Base{
public: virtual void fun(){cout<<"Test.fun="<
};
void main() {
Base a;
Test *p;
p=&a;
}
四、程序填空题(本大题共■小题,每小题■分,共■分)
1.完成下面类中的成员函数的定义。
class test {
private:
int num;
float f1;
public:
test(int , float f);
02328 面向对象程序设计考试大纲 第 10 页(共 12 页)
test(test&);
}
test::test( )
{
num=n;
=f;
}
test::test( )
{
num=
f1=t.f1
}
2.在下面一段类定义中,Derived 类公有继承了基类 Base。需要填充的函数由注释内容
给出了功能。
class Base
{
private:
int mem1,mem2; //基类的数据成员
public:
Base(int m1,int m2) {
mem1=m1; mem2=m2;
}
void output(){cout<
//...
};
class Derived: public Base
{
private:
int mem3; //派生类本身的数据成员
public:
//构造函数,由 m1 和 m2 分别初始化 mem1 和 mem2,由 m3 初始化 mem3
Derived(int m1,int m2, int m3);
//输出 mem1,mem2 和 mem3 数据成员的值
void output(){
;
cout<
}
//...
};
Derived::Derived(int m1,int m2, int m3): (2)
{ (3) ; }
(1) (2) (3)
02328 面向对象程序设计考试大纲 第 11 页(共 12 页)
五、程序分析题(本大题共■小题,每小题■分,共■分)
分析程序,写出运行结果。
1.#include
void swap(int &,int &);
void main( )
{ int a=5,b=8;
cout<<"a="<
湖南专升本声明
(一)由于考试政策等各方面情况的不断调整与变化,本网站所提供的考试信息仅供参考,请以权威部门公布的正式信息为准。
(二)本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请于我们联系,我们会及时处理。
文章来源于网络,如有侵权,请联系删除