一、課程性質與特點
面向對象程序設計是高等教育自學考試軟件工程(本科)、工業自動化(本科)
專業的選考課程。它是為滿足從事軟件工程工作人才的需要而設置的。本課程的
任務是通過全面、系統地學習面向對象程序設計的基本概念、分析方法、設計方
法、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="<

湖南專升本聲明
(一)由于考試政策等各方面情況的不斷調整與變化,本網站所提供的考試信息僅供參考,請以權威部門公布的正式信息為準。
(二)本網站在文章內容來源出處標注為其他平臺的稿件均為轉載稿,免費轉載出于非商業性學習目的,版權歸原作者所有。如您對內容、版權等問題存在異議請于我們聯系,我們會及時處理。
文章來源于網絡,如有侵權,請聯系刪除