




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第1 1章章 C+C+程序設(shè)計(jì)基礎(chǔ)程序設(shè)計(jì)基礎(chǔ)習(xí)題解答習(xí)題解答 一、選擇題一、選擇題1下列語(yǔ)句中,錯(cuò)誤的是下列語(yǔ)句中,錯(cuò)誤的是 。A)const int buffer = 256;B)const int temp;C)const double *point;D)double * const pt = new double(5.5);解析:解析:修飾符修飾符const聲明的常量只能被讀取,該常量必須在聲聲明的常量只能被讀取,該常量必須在聲明時(shí)進(jìn)行初始化,并且它的值在程序中不能改變。選項(xiàng)明時(shí)進(jìn)行初始化,并且它的值在程序中不能改變。選項(xiàng)B)沒(méi))沒(méi)有初始化,錯(cuò)誤。選項(xiàng)有初始化,錯(cuò)誤。選項(xiàng)C)定義了一
2、個(gè)指向)定義了一個(gè)指向const double的指的指針,其意義為指針針,其意義為指針 point指向的變量不能通過(guò)指針指向的變量不能通過(guò)指針point來(lái)改變,來(lái)改變,D)中表示指針)中表示指針pt是常量指針,已在聲明時(shí)進(jìn)行了初始化。是常量指針,已在聲明時(shí)進(jìn)行了初始化。答案:答案:B2關(guān)于函數(shù)重載,下列敘述中錯(cuò)誤的是關(guān)于函數(shù)重載,下列敘述中錯(cuò)誤的是 。A)重載函數(shù)的函數(shù)名必須相同)重載函數(shù)的函數(shù)名必須相同B)重載函數(shù)必須在參數(shù)個(gè)數(shù)或類(lèi)型上有所不同)重載函數(shù)必須在參數(shù)個(gè)數(shù)或類(lèi)型上有所不同C)重載函數(shù)的返回值類(lèi)型必須相同)重載函數(shù)的返回值類(lèi)型必須相同D)重載函數(shù)的函數(shù)體可以有所不同)重載函數(shù)的函數(shù)
3、體可以有所不同解析:解析:函數(shù)重載是用同一個(gè)函數(shù)名字在不同的參數(shù)類(lèi)型或參函數(shù)重載是用同一個(gè)函數(shù)名字在不同的參數(shù)類(lèi)型或參數(shù)個(gè)數(shù)上做類(lèi)似的操作方作,它們的實(shí)現(xiàn)方法可以不同。所數(shù)個(gè)數(shù)上做類(lèi)似的操作方作,它們的實(shí)現(xiàn)方法可以不同。所以說(shuō),重載函數(shù)的函數(shù)名必須相同,函數(shù)體可以有所不同。以說(shuō),重載函數(shù)的函數(shù)名必須相同,函數(shù)體可以有所不同。函數(shù)重載必須在參數(shù)類(lèi)型或參數(shù)個(gè)數(shù)上不一樣,不能依靠返函數(shù)重載必須在參數(shù)類(lèi)型或參數(shù)個(gè)數(shù)上不一樣,不能依靠返回值不一樣來(lái)區(qū)分重載函數(shù)?;刂挡灰粯觼?lái)區(qū)分重載函數(shù)。答案:答案:C3有以下程序:有以下程序:void Fun(int i, int j)cout i + j endl;/
4、 輸出輸出i+jvoid Fun(int i)cout i+ endl;/ 輸出輸出i+int main()/ 主函數(shù)主函數(shù)main()int a = 1;/ 定義變量定義變量iFun(a);/ 調(diào)用調(diào)用Fun()return 0; / 返回值返回值0, 返回操作系統(tǒng)返回操作系統(tǒng)該程序執(zhí)行后輸出的結(jié)果是該程序執(zhí)行后輸出的結(jié)果是 。A)1 B)2 C)3 D)4解析:解析:由于主函數(shù)中調(diào)用的由于主函數(shù)中調(diào)用的Fun()函數(shù)只有一個(gè)參數(shù),故執(zhí)行的是函數(shù)只有一個(gè)參數(shù),故執(zhí)行的是void Fun( int i )的版本,執(zhí)行的版本,執(zhí)行“cout i+ endl;”時(shí),由于是后綴時(shí),由于是后綴“+”,
5、所以先輸出所以先輸出i的值的值1,再使,再使i加加1。答案:答案:A二、編程題二、編程題 1編寫(xiě)一個(gè)編寫(xiě)一個(gè)C+程序,要求輸出程序,要求輸出“歡迎學(xué)習(xí)歡迎學(xué)習(xí)C+語(yǔ)言語(yǔ)言!”。參考程序參考程序:#include / 編譯預(yù)處理命令編譯預(yù)處理命令using namespace std;/ 使用命名空間使用命名空間std int main()/ 主函數(shù)主函數(shù)main() cout 歡迎學(xué)習(xí)歡迎學(xué)習(xí)C+語(yǔ)言語(yǔ)言! endl;/ 用用C+的方法輸出一行的方法輸出一行system(PAUSE);/ 調(diào)用庫(kù)函數(shù)調(diào)用庫(kù)函數(shù)system( ),輸出提示信息,輸出提示信息return 0; / 返回值返回值,
6、返回操作系統(tǒng)返回操作系統(tǒng)*2編一個(gè)程序,用一個(gè)函數(shù)實(shí)現(xiàn)求編一個(gè)程序,用一個(gè)函數(shù)實(shí)現(xiàn)求n個(gè)整型數(shù)據(jù)的最小值。函數(shù)原型如下:個(gè)整型數(shù)據(jù)的最小值。函數(shù)原型如下:int Min(int a, int n)參考程序參考程序:#include / 編譯預(yù)處理命令編譯預(yù)處理命令using namespace std;/ 使用命名空間使用命名空間std int Min(int a, int n)/ 求求n個(gè)整型數(shù)據(jù)的最小值個(gè)整型數(shù)據(jù)的最小值int m = a0, i;/ 臨時(shí)變量臨時(shí)變量for (i = 1; i n; i+)/ 依次比較求最小值依次比較求最小值if (ai m) / 如果如果ai更小更小m
7、= ai;/ ai為當(dāng)前最小值為當(dāng)前最小值return m;/ 返回最小值返回最小值int main()/ 主函數(shù)主函數(shù)main()int a = 1, 2, 3, 4, 5, 6, 7, 8, 9, -10, n = 10; cout 最小值為最小值為 Min(a, n) endl;/ 輸出最小值輸出最小值system(PAUSE);/ 調(diào)用庫(kù)函數(shù)調(diào)用庫(kù)函數(shù)system( ),輸出提示信息,輸出提示信息return 0; / 返回值返回值, 返回操作系統(tǒng)返回操作系統(tǒng)3求求2個(gè)數(shù)或個(gè)數(shù)或3個(gè)整數(shù)中的最大數(shù),用兩個(gè)同名函數(shù)實(shí)現(xiàn),要求編寫(xiě)測(cè)試程序。個(gè)整數(shù)中的最大數(shù),用兩個(gè)同名函數(shù)實(shí)現(xiàn),要求編寫(xiě)測(cè)試
8、程序。 參考程序參考程序:#include / 編譯預(yù)處理命令編譯預(yù)處理命令using namespace std;/ 使用命名空間使用命名空間std int Max(int x, int y)/ 求求x,y的最大值的最大值return x y ? x : y;/ 返回返回x,y的最大值的最大值int Max(int x, int y, int z)/ 求求x,y,z的最大值的最大值int m = x y ? x : y;/ x,y的最大值的最大值m = m z ? m : z;/ m,z的最大值的最大值return m;/ 返回返回x,y,z的最大值的最大值int main()/ 主函數(shù)主函
9、數(shù)main()cout 2,3的最大值為的最大值為 Max(2, 3) endl; cout 1,6,8的最大值為的最大值為 Max(1, 6, 8) endl;system(PAUSE);/ 調(diào)用庫(kù)函數(shù)調(diào)用庫(kù)函數(shù)system( ),輸出提示信息,輸出提示信息return 0; / 返回值返回值, 返回操作系統(tǒng)返回操作系統(tǒng)4用變量的引用作函數(shù)形參,實(shí)現(xiàn)交換兩個(gè)整型變量,要求編寫(xiě)測(cè)試程序。用變量的引用作函數(shù)形參,實(shí)現(xiàn)交換兩個(gè)整型變量,要求編寫(xiě)測(cè)試程序。 參考程序參考程序:#include / 編譯預(yù)處理命令編譯預(yù)處理命令using namespace std;/ 使用命名空間使用命名空間std
10、void Swap(int &x, int &y)/ 交換交換x,y的值的值int t = x; x = y; y = t;/ 循環(huán)賦值交換循環(huán)賦值交換x,y的值的值int main()/ 主函數(shù)主函數(shù)main()int x = 1, y = 6;cout 交換前交換前: x , y endl;Swap(x, y);cout 交換后交換后: x , y endl;system(PAUSE);/ 調(diào)用庫(kù)函數(shù)調(diào)用庫(kù)函數(shù)system( ),輸出系統(tǒng)提示信息,輸出系統(tǒng)提示信息return 0; / 返回值返回值, 返回操作系統(tǒng)返回操作系統(tǒng)*5編一個(gè)程序,用同一個(gè)函數(shù)名對(duì)編一個(gè)程序,用同
11、一個(gè)函數(shù)名對(duì)n個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類(lèi)型可個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類(lèi)型可以是整型、單精度實(shí)型、雙精度實(shí)型,用重載函數(shù)實(shí)現(xiàn)。以是整型、單精度實(shí)型、雙精度實(shí)型,用重載函數(shù)實(shí)現(xiàn)。參考程序參考程序:#include / 編譯預(yù)處理命令編譯預(yù)處理命令using namespace std;/ 使用命名空間使用命名空間std void Sort(int a, int n)/ 對(duì)對(duì)a0.an-1進(jìn)行排序進(jìn)行排序int tem, i, j;/ 定義變量定義變量for (i = 0; i n- 1; i+)for (j = i + 1; j aj)/ ai比比aj更大更大tem = ai; ai =
12、aj; aj = tem; *5編一個(gè)程序,用同一個(gè)函數(shù)名對(duì)編一個(gè)程序,用同一個(gè)函數(shù)名對(duì)n個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類(lèi)型可個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類(lèi)型可以是整型、單精度實(shí)型、雙精度實(shí)型,用重載函數(shù)實(shí)現(xiàn)。以是整型、單精度實(shí)型、雙精度實(shí)型,用重載函數(shù)實(shí)現(xiàn)。參考程序參考程序:void Sort(float a, int n)/ 對(duì)對(duì)a0.an-1進(jìn)行排序進(jìn)行排序float tem;/ 臨時(shí)變量臨時(shí)變量int i, j;/ 定義變量定義變量for (i = 0; i n- 1; i+)for (j = i + 1; j aj)/ ai比比aj更大更大tem = ai; ai = aj; aj =
13、 tem;*5編一個(gè)程序,用同一個(gè)函數(shù)名對(duì)編一個(gè)程序,用同一個(gè)函數(shù)名對(duì)n個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類(lèi)型可個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類(lèi)型可以是整型、單精度實(shí)型、雙精度實(shí)型,用重載函數(shù)實(shí)現(xiàn)。以是整型、單精度實(shí)型、雙精度實(shí)型,用重載函數(shù)實(shí)現(xiàn)。參考程序參考程序:void Sort(double a, int n)/ 對(duì)對(duì)a0.an-1進(jìn)行排序進(jìn)行排序double tem;/ 臨時(shí)變量臨時(shí)變量int i, j;/ 定義變量定義變量for (i = 0; i n- 1; i+)for (j = i + 1; j aj)/ ai比比aj更大更大tem = ai; ai = aj; aj = tem;*5
14、編一個(gè)程序,用同一個(gè)函數(shù)名對(duì)編一個(gè)程序,用同一個(gè)函數(shù)名對(duì)n個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類(lèi)型可個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類(lèi)型可以是整型、單精度實(shí)型、雙精度實(shí)型,用重載函數(shù)實(shí)現(xiàn)。以是整型、單精度實(shí)型、雙精度實(shí)型,用重載函數(shù)實(shí)現(xiàn)。參考程序參考程序:int main()/ 主函數(shù)主函數(shù)main()int a = 1, 3, 2, 5, 6, 9, 0, 6;/ 定義定義afloat b = 1.6, 3.3, 2.8, 5.6, 6.8, 9.6, 0.6, 6.8; / 定義定義bdouble c = 1.2, 3.1, 2.6, 5.8, 6.8, 9.8, 0.8, 6.2;/ 定義定義cin
15、t i, n = 8;/ 定義變量定義變量Sort(a, n);/ 對(duì)對(duì)a排序排序cout a:;/ 輸出提示輸出提示for (i = 0; i n; i+)cout ai ;/ 輸出輸出aicout endl;/ 換行換行*5編一個(gè)程序,用同一個(gè)函數(shù)名對(duì)編一個(gè)程序,用同一個(gè)函數(shù)名對(duì)n個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類(lèi)型可個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類(lèi)型可以是整型、單精度實(shí)型、雙精度實(shí)型,用重載函數(shù)實(shí)現(xiàn)。以是整型、單精度實(shí)型、雙精度實(shí)型,用重載函數(shù)實(shí)現(xiàn)。參考程序參考程序:Sort(b, n);/ 對(duì)對(duì)b排序排序cout b:;/ 輸出提示輸出提示for (i = 0; i n; i+)cout b
16、i ;/ 輸出輸出bicout endl;/ 換行換行Sort(c, n);/ 對(duì)對(duì)c排序排序cout c:;/ 輸出提示輸出提示for (i = 0; i n; i+)cout ci ;/ 輸出輸出cicout endl;/ 換行換行system(PAUSE);/ 調(diào)用庫(kù)函數(shù)調(diào)用庫(kù)函數(shù)system( ),輸出系統(tǒng)提示信息,輸出系統(tǒng)提示信息return 0; / 返回值返回值, 返回操作系統(tǒng)返回操作系統(tǒng)第第2 2章章 類(lèi)和對(duì)象類(lèi)和對(duì)象習(xí)題解答習(xí)題解答 一、選擇題一、選擇題1下列選項(xiàng)中,不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是下列選項(xiàng)中,不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是 。A)繼承性)繼承性B)多態(tài)性)多態(tài)
17、性C)類(lèi)比性)類(lèi)比性D)封裝性)封裝性解析:解析:封裝性、繼承性和多態(tài)性是面向?qū)ο笏枷氲姆庋b性、繼承性和多態(tài)性是面向?qū)ο笏枷氲?個(gè)主要特征。個(gè)主要特征。封裝性指將數(shù)據(jù)和算法捆綁成一個(gè)整體,這個(gè)整體就是對(duì)象,描封裝性指將數(shù)據(jù)和算法捆綁成一個(gè)整體,這個(gè)整體就是對(duì)象,描述對(duì)象的數(shù)據(jù)被封裝在其內(nèi)部。繼承性是指一種事物保留了另一述對(duì)象的數(shù)據(jù)被封裝在其內(nèi)部。繼承性是指一種事物保留了另一種事物的全部特征,并且具有自身的獨(dú)有特征。多態(tài)性主要指當(dāng)種事物的全部特征,并且具有自身的獨(dú)有特征。多態(tài)性主要指當(dāng)多個(gè)事物繼承自一種事物時(shí),同一操作在它們之間表現(xiàn)出不同的多個(gè)事物繼承自一種事物時(shí),同一操作在它們之間表現(xiàn)出不同的
18、行為。行為。答案:答案:C2在面向?qū)ο蠓椒ㄖ校瑢?shí)現(xiàn)信息隱蔽是依靠在面向?qū)ο蠓椒ㄖ?,?shí)現(xiàn)信息隱蔽是依靠 。A)對(duì)象的繼承)對(duì)象的繼承B)對(duì)象的多態(tài))對(duì)象的多態(tài)C)對(duì)象的封裝)對(duì)象的封裝D)對(duì)象的分類(lèi))對(duì)象的分類(lèi)解析:解析:在面向?qū)ο蠓椒ㄖ?,封裝性是指將數(shù)據(jù)和算法捆綁成一個(gè)在面向?qū)ο蠓椒ㄖ?,封裝性是指將數(shù)據(jù)和算法捆綁成一個(gè)整體,這個(gè)整體就是對(duì)象,描述對(duì)象的數(shù)據(jù)被封裝在內(nèi)部,只可整體,這個(gè)整體就是對(duì)象,描述對(duì)象的數(shù)據(jù)被封裝在內(nèi)部,只可以通過(guò)對(duì)象提供的算法來(lái)進(jìn)行操作,從而實(shí)現(xiàn)信息隱蔽。以通過(guò)對(duì)象提供的算法來(lái)進(jìn)行操作,從而實(shí)現(xiàn)信息隱蔽。答案:答案:C3下列關(guān)于類(lèi)和對(duì)象的敘述中,錯(cuò)誤的是下列關(guān)于類(lèi)和對(duì)象的
19、敘述中,錯(cuò)誤的是 。A)一個(gè)類(lèi)只能有一個(gè)對(duì)象)一個(gè)類(lèi)只能有一個(gè)對(duì)象B)對(duì)象是類(lèi)的具體實(shí)例)對(duì)象是類(lèi)的具體實(shí)例C)類(lèi)是某一類(lèi)對(duì)象的抽象)類(lèi)是某一類(lèi)對(duì)象的抽象D)類(lèi)和對(duì)象的關(guān)系就像數(shù)據(jù)類(lèi)型和變量的關(guān)系)類(lèi)和對(duì)象的關(guān)系就像數(shù)據(jù)類(lèi)型和變量的關(guān)系解析:解析:在面向?qū)ο笤O(shè)計(jì)中,類(lèi)是同一種對(duì)象的抽象,而不只是對(duì)在面向?qū)ο笤O(shè)計(jì)中,類(lèi)是同一種對(duì)象的抽象,而不只是對(duì)一個(gè)對(duì)象的抽象,一個(gè)類(lèi)具有多個(gè)對(duì)象。對(duì)象是類(lèi)的具體實(shí)例。一個(gè)對(duì)象的抽象,一個(gè)類(lèi)具有多個(gè)對(duì)象。對(duì)象是類(lèi)的具體實(shí)例。就像數(shù)據(jù)類(lèi)型和變量的關(guān)系,一種數(shù)據(jù)類(lèi)型可以定義多個(gè)變量,就像數(shù)據(jù)類(lèi)型和變量的關(guān)系,一種數(shù)據(jù)類(lèi)型可以定義多個(gè)變量,一個(gè)變量卻只能是一種數(shù)據(jù)類(lèi)型
20、。一個(gè)變量卻只能是一種數(shù)據(jù)類(lèi)型。答案:答案:A4有以下類(lèi)聲明:有以下類(lèi)聲明:class MyClass int num; ;則則MyClass類(lèi)的成員類(lèi)的成員num是是 。A)公有數(shù)據(jù)成員)公有數(shù)據(jù)成員B)公有成員函數(shù))公有成員函數(shù)C)私有數(shù)據(jù)成員)私有數(shù)據(jù)成員D)私有成員函數(shù))私有成員函數(shù)解析:解析:函數(shù)聲明時(shí),函數(shù)名后必須帶函數(shù)聲明時(shí),函數(shù)名后必須帶“”,所以,所以num是數(shù)據(jù)是數(shù)據(jù)成員。在類(lèi)中,當(dāng)沒(méi)有用訪問(wèn)權(quán)限標(biāo)識(shí)符標(biāo)識(shí)時(shí),默認(rèn)為私有權(quán)成員。在類(lèi)中,當(dāng)沒(méi)有用訪問(wèn)權(quán)限標(biāo)識(shí)符標(biāo)識(shí)時(shí),默認(rèn)為私有權(quán)限。限。答案:答案:C5在下列函數(shù)原型中,可以作為類(lèi)在下列函數(shù)原型中,可以作為類(lèi)AA構(gòu)造函數(shù)的是構(gòu)
21、造函數(shù)的是 。A)void AA(int);B)int AA();C)AA(int) const D)AA(int);解析:解析:構(gòu)造函數(shù)用于初始綸對(duì)象的數(shù)據(jù)成員,沒(méi)有返回類(lèi)型,而構(gòu)造函數(shù)用于初始綸對(duì)象的數(shù)據(jù)成員,沒(méi)有返回類(lèi)型,而且由于常成員函數(shù)不能更新對(duì)象的數(shù)據(jù)成員,所以常成員函數(shù)也且由于常成員函數(shù)不能更新對(duì)象的數(shù)據(jù)成員,所以常成員函數(shù)也不可能作為構(gòu)造函數(shù)。不可能作為構(gòu)造函數(shù)。答案:答案:D6下列關(guān)于下列關(guān)于this指針的敘述中,正確的是指針的敘述中,正確的是 。A)任何與類(lèi)相關(guān)的函數(shù)都有)任何與類(lèi)相關(guān)的函數(shù)都有this指針指針B)類(lèi)的成員函數(shù)都有)類(lèi)的成員函數(shù)都有this指針指針C)類(lèi)的友
22、元函數(shù)都有)類(lèi)的友元函數(shù)都有this指針指針D)類(lèi)的非靜態(tài)成員函數(shù)才有)類(lèi)的非靜態(tài)成員函數(shù)才有this指針指針解析:解析:this指針只能在類(lèi)的成員函數(shù)中使用,它指向該成員函數(shù)指針只能在類(lèi)的成員函數(shù)中使用,它指向該成員函數(shù)被調(diào)用的對(duì)象。但是有兩種與類(lèi)相關(guān)的函數(shù)都沒(méi)有被調(diào)用的對(duì)象。但是有兩種與類(lèi)相關(guān)的函數(shù)都沒(méi)有this指針,即指針,即靜態(tài)成員函數(shù)和友元函數(shù)。靜態(tài)成員函數(shù)和友元函數(shù)。答案:答案:D7有以下程序:有以下程序:class Testprivate:static int n;/ 靜態(tài)成員靜態(tài)成員public:Test() n += 2; / 構(gòu)造函數(shù)構(gòu)造函數(shù)Test() n -= 3; /
23、 析構(gòu)函數(shù)析構(gòu)函數(shù)static int GetNum() return n; / 返回返回n; int Test:n = 1;/ 初始化初始化nint main()/ 主函數(shù)主函數(shù)main()Test *p = new Test;/ 定義指針定義指針pdelete p;/ 釋放釋放p指向的動(dòng)太對(duì)象指向的動(dòng)太對(duì)象cout n= Test:GetNum() endl;/ 輸出輸出nreturn 0; / 返回值返回值0, 返回操作系統(tǒng)返回操作系統(tǒng)執(zhí)行后的輸出結(jié)果是執(zhí)行后的輸出結(jié)果是 。A)n=0 B)n=1 C)n=2 D)n=3解析:解析:靜態(tài)數(shù)據(jù)成員初始化的值為靜態(tài)數(shù)據(jù)成員初始化的值為1,執(zhí)行
24、,執(zhí)行“Test *p = new Test”將調(diào)用構(gòu)將調(diào)用構(gòu)造函數(shù),執(zhí)行造函數(shù),執(zhí)行“n += 2;”,n的值變?yōu)榈闹底優(yōu)?,執(zhí)行,執(zhí)行“delete p;”時(shí)將調(diào)用析構(gòu)函時(shí)將調(diào)用析構(gòu)函數(shù),執(zhí)行數(shù),執(zhí)行“n -= 3;”,n的值減的值減3,變?yōu)?,變?yōu)?。答案:答案:A8有以下程序:有以下程序:class MyClassprivate:int n;/ 數(shù)據(jù)成員數(shù)據(jù)成員public:MyClass(int k): n(k)/ 構(gòu)造函數(shù)構(gòu)造函數(shù)int Get() return n; / 返回返回nint Get() const return n + 1; / 返回返回n+1;int main()/
25、 主函數(shù)主函數(shù)main()MyClass a(5);/ 定義對(duì)象定義對(duì)象aconst MyClass b(6);/ 定義對(duì)象定義對(duì)象bcout a.Get() b.Get() endl;/ 輸出信息輸出信息return 0; / 返回值返回值0, 返回操作系統(tǒng)返回操作系統(tǒng)運(yùn)行后的輸出結(jié)果是運(yùn)行后的輸出結(jié)果是 。A)55 B)57 C)75 D)77解析:解析:const是一個(gè)判斷重載的標(biāo)志,是一個(gè)判斷重載的標(biāo)志,a.Get調(diào)用調(diào)用“int Get() return n; ”,故得到故得到5,而常對(duì)象,而常對(duì)象b執(zhí)行執(zhí)行 b.Get”時(shí),調(diào)用常成員函數(shù)時(shí),調(diào)用常成員函數(shù)“int Get() co
26、nst return n + 1; ”,故得到,故得到6+1=7。答案:答案:B9由于常對(duì)象不能被更新,因此由于常對(duì)象不能被更新,因此 。A)通過(guò)常對(duì)象只能調(diào)用它的常成員函數(shù))通過(guò)常對(duì)象只能調(diào)用它的常成員函數(shù)B)通過(guò)常對(duì)象只能調(diào)用靜態(tài)成員函數(shù))通過(guò)常對(duì)象只能調(diào)用靜態(tài)成員函數(shù)C)常對(duì)象的成員都是常成員)常對(duì)象的成員都是常成員D)通過(guò)常對(duì)象可以調(diào)用任何不改變對(duì)象值的成員函數(shù))通過(guò)常對(duì)象可以調(diào)用任何不改變對(duì)象值的成員函數(shù)解析:解析:通過(guò)常對(duì)象只能調(diào)用類(lèi)中的常成員函數(shù),而不能調(diào)用類(lèi)中的其他成員通過(guò)常對(duì)象只能調(diào)用類(lèi)中的常成員函數(shù),而不能調(diào)用類(lèi)中的其他成員函數(shù)。函數(shù)。答案:答案:A10下列情況中,不會(huì)調(diào)用
27、復(fù)制構(gòu)造函數(shù)的是下列情況中,不會(huì)調(diào)用復(fù)制構(gòu)造函數(shù)的是 。A)用一個(gè)對(duì)象去初始化同一類(lèi)的另一個(gè)新對(duì)象時(shí))用一個(gè)對(duì)象去初始化同一類(lèi)的另一個(gè)新對(duì)象時(shí)B)將類(lèi)的一個(gè)對(duì)象賦予該類(lèi)的另一個(gè)對(duì)象時(shí))將類(lèi)的一個(gè)對(duì)象賦予該類(lèi)的另一個(gè)對(duì)象時(shí)C)函數(shù)的形參是類(lèi)的對(duì)象,調(diào)用函數(shù)進(jìn)行形參和實(shí)參結(jié)合時(shí))函數(shù)的形參是類(lèi)的對(duì)象,調(diào)用函數(shù)進(jìn)行形參和實(shí)參結(jié)合時(shí)D)函數(shù)的返回值是類(lèi)的對(duì)象的引用,函數(shù)執(zhí)行返回調(diào)用時(shí))函數(shù)的返回值是類(lèi)的對(duì)象的引用,函數(shù)執(zhí)行返回調(diào)用時(shí)解析:解析:只要在程序的執(zhí)行中,需要用一個(gè)對(duì)象來(lái)初始化另一個(gè)對(duì)象,都要調(diào)只要在程序的執(zhí)行中,需要用一個(gè)對(duì)象來(lái)初始化另一個(gè)對(duì)象,都要調(diào)用復(fù)制構(gòu)造函數(shù),包括用復(fù)制構(gòu)造函數(shù),包括
28、A、B、C三種情況。三種情況。答案:答案:D11以下關(guān)鍵字不能用來(lái)聲明類(lèi)的訪問(wèn)權(quán)限的是以下關(guān)鍵字不能用來(lái)聲明類(lèi)的訪問(wèn)權(quán)限的是 。A)public B)static C)protected D)private解析:解析:類(lèi)的訪問(wèn)權(quán)限有三種:公有、私有、保護(hù),關(guān)鍵字分別是類(lèi)的訪問(wèn)權(quán)限有三種:公有、私有、保護(hù),關(guān)鍵字分別是public,private,protected,。static用于靜態(tài)成員的聲明。用于靜態(tài)成員的聲明。答案:答案:B12有以下程序:有以下程序:class MyClasspublic:MyClass() cout A; / 無(wú)參構(gòu)造函數(shù)無(wú)參構(gòu)造函數(shù)MyClass(char c)
29、cout c; / 帶參構(gòu)造函數(shù)帶參構(gòu)造函數(shù)MyClass() cout B; / 析構(gòu)函數(shù)析構(gòu)函數(shù);int main()/ 主函數(shù)主函數(shù)main()MyClass a, *p;/ 定義變量定義變量p = new MyClass(X);/ 分配動(dòng)態(tài)空間分配動(dòng)態(tài)空間delete p;/ 釋放動(dòng)態(tài)空間釋放動(dòng)態(tài)空間cout endl;/ 換行換行return 0; / 返回值返回值0, 返回操作系統(tǒng)返回操作系統(tǒng)執(zhí)行這個(gè)程序,屏幕上將顯示輸出執(zhí)行這個(gè)程序,屏幕上將顯示輸出 。A)ABX B)ABXB C)ABXB D)AXBB解析:解析:定義對(duì)象定義對(duì)象a時(shí),調(diào)用一次構(gòu)造函數(shù)時(shí),調(diào)用一次構(gòu)造函數(shù)“My
30、Class() cout A; ”,但,但定義對(duì)象指針定義對(duì)象指針p時(shí)不調(diào)用構(gòu)造函數(shù);使用時(shí)不調(diào)用構(gòu)造函數(shù);使用new動(dòng)態(tài)創(chuàng)建對(duì)象時(shí),根據(jù)參數(shù)情動(dòng)態(tài)創(chuàng)建對(duì)象時(shí),根據(jù)參數(shù)情況調(diào)用況調(diào)用“MyClass(char c) cout c; ”,輸出,輸出X;執(zhí)行;執(zhí)行“delete p;”時(shí),時(shí),需要調(diào)用一次析構(gòu)函數(shù),輸出需要調(diào)用一次析構(gòu)函數(shù),輸出B;最后主函數(shù)結(jié)束時(shí),對(duì)象最后主函數(shù)結(jié)束時(shí),對(duì)象a調(diào)用一次析構(gòu)函調(diào)用一次析構(gòu)函數(shù),輸出數(shù),輸出B。答案:答案:D13有以下程序:有以下程序:class Testpublic:static int a;/ 靜態(tài)成員靜態(tài)成員void Init() a = 1;
31、/ 初始化函數(shù)初始化函數(shù)Test(int a = 6) Init(); a+;/ 構(gòu)造函數(shù)構(gòu)造函數(shù);int Test:a = 0;/ 初始化初始化aTest obj;/ 定義全局對(duì)象定義全局對(duì)象int main()/ 主函數(shù)主函數(shù)main()cout obj.a endl;/ 輸出輸出areturn 0; / 返回值返回值0, 返回操作系統(tǒng)返回操作系統(tǒng)運(yùn)行時(shí)輸出的結(jié)果是運(yùn)行時(shí)輸出的結(jié)果是 。A)0 B)1 C)2 D)3解析:解析:首先初始化靜態(tài)數(shù)據(jù)成員首先初始化靜態(tài)數(shù)據(jù)成員a為為0,然后在定義全局對(duì)象,然后在定義全局對(duì)象obj時(shí)調(diào)用構(gòu)造函時(shí)調(diào)用構(gòu)造函數(shù)。這時(shí)有兩個(gè)數(shù)。這時(shí)有兩個(gè)a,一個(gè)是,一
32、個(gè)是“Test(int a = 6) Init(); a+;”函數(shù)中的局部變量函數(shù)中的局部變量a,另一個(gè)是靜態(tài)數(shù)據(jù)成員另一個(gè)是靜態(tài)數(shù)據(jù)成員a,需要靠作用域來(lái)區(qū)分。在執(zhí)行,需要靠作用域來(lái)區(qū)分。在執(zhí)行Init()時(shí),由于離開(kāi)了時(shí),由于離開(kāi)了構(gòu)造函數(shù)構(gòu)造函數(shù)“Test(int a = 6) Init(); a+;”的作用域,的作用域,Init()里的里的a為靜態(tài)數(shù)據(jù)成為靜態(tài)數(shù)據(jù)成員,這時(shí)靜態(tài)數(shù)據(jù)成員員,這時(shí)靜態(tài)數(shù)據(jù)成員a賦值為賦值為1;之后回到構(gòu)造函數(shù)執(zhí)行;之后回到構(gòu)造函數(shù)執(zhí)行a+,這個(gè),這個(gè)a為為“Test(int a = 6) Init(); a+;”中的中的a,值變?yōu)椋底優(yōu)?,但當(dāng)構(gòu)造函數(shù)執(zhí)
33、行完畢后,但當(dāng)構(gòu)造函數(shù)執(zhí)行完畢后,該局部變量該局部變量a隨之消失,與對(duì)象無(wú)關(guān)。隨之消失,與對(duì)象無(wú)關(guān)。obj.a調(diào)用的是靜態(tài)數(shù)據(jù)成員,結(jié)果為調(diào)用的是靜態(tài)數(shù)據(jù)成員,結(jié)果為1。答案:答案:B14有以下程序:有以下程序:class Testprivate:long x;/ 私有數(shù)據(jù)成員私有數(shù)據(jù)成員public:Test(long a): x(a) / 構(gòu)造函數(shù)構(gòu)造函數(shù)friend long Fun(Test s);/ 友元友元;long Fun(Test s)if (s.x = 1 ) return 1;/ 遞歸結(jié)束遞歸結(jié)束else return s.x * Fun(Test(s.x - 1);/ 遞
34、歸調(diào)用遞歸調(diào)用int main()/ 主函數(shù)主函數(shù)main()int sum = 0;/ 定義變量定義變量for (int i = 0; i 6; i+)sum += Fun(Test(i);/ 累加求和累加求和cout sum endl;/ 輸出輸出sumreturn 0; / 返回值返回值0, 返回操作系統(tǒng)返回操作系統(tǒng)運(yùn)行后的輸出結(jié)果是運(yùn)行后的輸出結(jié)果是 。A)120 B)16 C)154 D)34解析:解析:友元函數(shù)友元函數(shù)Fun()參數(shù)表中的對(duì)象在初始化時(shí)需執(zhí)行構(gòu)造函數(shù)參數(shù)表中的對(duì)象在初始化時(shí)需執(zhí)行構(gòu)造函數(shù)“Test:Test(long a)”,調(diào)用過(guò)程為:先調(diào)用構(gòu)造函數(shù),調(diào)用過(guò)程為:
35、先調(diào)用構(gòu)造函數(shù)Test(i),使,使Test中中x的值為的值為i,再通過(guò)友元函數(shù)直接訪問(wèn)再通過(guò)友元函數(shù)直接訪問(wèn)Test.x,執(zhí)行,執(zhí)行Fun()中的語(yǔ)句,可得到:中的語(yǔ)句,可得到:Fun(Test(0)=1,F(xiàn)un(Test(1)=1,F(xiàn)un(Test(2)=2*1,F(xiàn)un(Test3)=3*2*1=6,F(xiàn)un(Test(4)=4*3*2*1=24,F(xiàn)un(Test(5)=5*4*3*2*1=120,sum=1+1+2+6+24+120=154。答案:答案:C15有以下程序:有以下程序:class Testprivate:int a;/ 數(shù)據(jù)成員數(shù)據(jù)成員public:Test() cout 無(wú)
36、參構(gòu)造函數(shù)無(wú)參構(gòu)造函數(shù) endl; / 無(wú)參構(gòu)造函數(shù)無(wú)參構(gòu)造函數(shù)Test(int a) cout a endl; / 帶參構(gòu)造函數(shù)帶參構(gòu)造函數(shù)Test(const Test ©): a(copy.a) / 復(fù)制構(gòu)造函數(shù)復(fù)制構(gòu)造函數(shù) cout 復(fù)制構(gòu)造函數(shù)復(fù)制構(gòu)造函數(shù) endl; Test() cout 析構(gòu)函數(shù)析構(gòu)函數(shù) endl; / 析構(gòu)函數(shù)析構(gòu)函數(shù);int main()/ 主函數(shù)主函數(shù)main()Test a(3);/ 定義對(duì)象定義對(duì)象return 0; / 返回值返回值0, 返回操作系統(tǒng)返回操作系統(tǒng)運(yùn)行時(shí)的輸出結(jié)果是運(yùn)行時(shí)的輸出結(jié)果是 。A)3 B)無(wú)參構(gòu)造函數(shù))無(wú)參構(gòu)造
37、函數(shù)C)復(fù)制構(gòu)造函數(shù))復(fù)制構(gòu)造函數(shù)D)3 析構(gòu)函數(shù)析構(gòu)函數(shù) 析構(gòu)函數(shù)析構(gòu)函數(shù) 析構(gòu)函數(shù)析構(gòu)函數(shù)解析:解析:創(chuàng)建對(duì)象創(chuàng)建對(duì)象a時(shí)帶有參數(shù)時(shí)帶有參數(shù)3,故調(diào)用構(gòu)造函數(shù),故調(diào)用構(gòu)造函數(shù)Test( int a),輸出,輸出3并換行;程并換行;程序結(jié)束時(shí)調(diào)用析構(gòu)函數(shù)序結(jié)束時(shí)調(diào)用析構(gòu)函數(shù)Test(),輸出,輸出“析構(gòu)函數(shù)析構(gòu)函數(shù)”并換行。并換行。答案:答案:D 16有以下程序:有以下程序:class MyClassprivate:int n;/ 數(shù)據(jù)成員數(shù)據(jù)成員public:MyClass(int m): n(m) / 構(gòu)造函數(shù)構(gòu)造函數(shù)void Print() const cout const:n= n
38、; / 常成員函數(shù)常成員函數(shù)void Print() cout n= n ; / 非常成員函數(shù)非常成員函數(shù);int main()/ 主函數(shù)主函數(shù)main()const MyClass obj1(10);/ 常對(duì)象常對(duì)象MyClass obj2(20);/ 非常對(duì)象非常對(duì)象obj1.Print();/ 輸出信息輸出信息obj2.Print();/ 輸出信息輸出信息cout endl;/ 換行換行return 0; / 返回值返回值0, 返回操作系統(tǒng)返回操作系統(tǒng)程序的輸出結(jié)果是程序的輸出結(jié)果是 。A)n=10 const:n=20B)const:n=10 const:n=20C)const:n=1
39、0 n=20D)n=10 n=20解析:解析:根據(jù)根據(jù)const修飾符選擇對(duì)應(yīng)的構(gòu)造函數(shù),修飾符選擇對(duì)應(yīng)的構(gòu)造函數(shù),objl為常對(duì)象,調(diào)用常成員函數(shù),為常對(duì)象,調(diào)用常成員函數(shù),輸出輸出“const:n=10 ”,obj2為一般對(duì)象,調(diào)用優(yōu)先調(diào)用非常成員函數(shù),輸出為一般對(duì)象,調(diào)用優(yōu)先調(diào)用非常成員函數(shù),輸出“n=20 ”。答案:答案:C二、填空題二、填空題 1在面向?qū)ο蠓椒ㄖ?,在面向?qū)ο蠓椒ㄖ校?描述的是具有相同屬性與操作的描述的是具有相同屬性與操作的一組對(duì)象。一組對(duì)象。 解析:解析:在面向?qū)ο笤O(shè)計(jì)中,一個(gè)對(duì)象是由一些屬性和操作構(gòu)成的。在面向?qū)ο笤O(shè)計(jì)中,一個(gè)對(duì)象是由一些屬性和操作構(gòu)成的。對(duì)象的屬性
40、描述了對(duì)象的內(nèi)部細(xì)節(jié)。類(lèi)是具有相同屬性和操作的對(duì)象的屬性描述了對(duì)象的內(nèi)部細(xì)節(jié)。類(lèi)是具有相同屬性和操作的一組對(duì)象的集合,它為屬于該類(lèi)的所有對(duì)象提供統(tǒng)一的抽象描述。一組對(duì)象的集合,它為屬于該類(lèi)的所有對(duì)象提供統(tǒng)一的抽象描述。答案:答案:類(lèi)類(lèi) 2非成員函數(shù)應(yīng)聲明為類(lèi)的非成員函數(shù)應(yīng)聲明為類(lèi)的 函數(shù)才能訪問(wèn)這個(gè)類(lèi)的函數(shù)才能訪問(wèn)這個(gè)類(lèi)的private成員。成員。 解析:解析:類(lèi)具有數(shù)據(jù)封裝和隱藏的特性,通常只有類(lèi)的成員函數(shù)才類(lèi)具有數(shù)據(jù)封裝和隱藏的特性,通常只有類(lèi)的成員函數(shù)才能訪問(wèn)類(lèi)的私有成員,外部函數(shù)只能訪問(wèn)類(lèi)的公有成員。但在某能訪問(wèn)類(lèi)的私有成員,外部函數(shù)只能訪問(wèn)類(lèi)的公有成員。但在某些情況下,需要在類(lèi)的外部
41、訪問(wèn)類(lèi)的私有成員,這時(shí)必須依靠引些情況下,需要在類(lèi)的外部訪問(wèn)類(lèi)的私有成員,這時(shí)必須依靠引入友元來(lái)實(shí)現(xiàn)。入友元來(lái)實(shí)現(xiàn)。答案:答案:友元友元 3下列程序的輸出結(jié)果為:下列程序的輸出結(jié)果為:01試將程序補(bǔ)充完整。試將程序補(bǔ)充完整。class Pointprivate:int x, y;/ 坐標(biāo)坐標(biāo)static int count; / 靜態(tài)數(shù)據(jù)成員靜態(tài)數(shù)據(jù)成員public:Point(int m = 0, int n = 0): x(m), y(n) count+; / 構(gòu)造函數(shù)構(gòu)造函數(shù)Point() count-; / 析構(gòu)函數(shù)析構(gòu)函數(shù)int GetX() const return x; / 返回
42、返回xint GetY() const return y; / 返回返回ystatic void ShowCount() cout count endl; / 輸出輸出count; / 靜態(tài)數(shù)據(jù)成員的初始化靜態(tài)數(shù)據(jù)成員的初始化int main()/ 主函數(shù)主函數(shù)main()Point:ShowCount();/ 輸出輸出countPoint a(6, 8);/ 定義對(duì)象定義對(duì)象Point:ShowCount();/ 輸出輸出countsystem(“PAUSE”); / 調(diào)用庫(kù)函數(shù)調(diào)用庫(kù)函數(shù)system( ),輸出提示信息,輸出提示信息return 0; / 返回值返回值0, 返回操作系統(tǒng)返回
43、操作系統(tǒng)。 解析:解析:由第一次調(diào)用由第一次調(diào)用GetCount()函數(shù)輸出函數(shù)輸出count的值為的值為0可知,應(yīng)將其初始化為可知,應(yīng)將其初始化為0,再根據(jù)靜態(tài)數(shù)據(jù)成員的初始化格式:再根據(jù)靜態(tài)數(shù)據(jù)成員的初始化格式:類(lèi)型類(lèi)型 類(lèi)名類(lèi)名:靜態(tài)成員名字靜態(tài)成員名字 = 值值; 可得橫線處填寫(xiě)的語(yǔ)句??傻脵M線處填寫(xiě)的語(yǔ)句。答案:答案:int Point:count = 0;4有以下類(lèi)聲明:有以下類(lèi)聲明:class MyClassint i;private:int j;protected:int k;public:int m, n;其中私有成員的數(shù)量是其中私有成員的數(shù)量是 。解析:解析:在用在用cla
44、ss聲明類(lèi)的成員聲明中,如果沒(méi)有標(biāo)識(shí)成員的訪問(wèn)權(quán)限,則聲明類(lèi)的成員聲明中,如果沒(méi)有標(biāo)識(shí)成員的訪問(wèn)權(quán)限,則默認(rèn)為私有的訪問(wèn)權(quán)限,故默認(rèn)為私有的訪問(wèn)權(quán)限,故i為私有訪問(wèn)權(quán)限。為私有訪問(wèn)權(quán)限。答案:答案:2 5有以下程序:有以下程序:class Integerprivate:int n;/ 數(shù)據(jù)成員數(shù)據(jù)成員public:Integer(int n = 0) = n; / 構(gòu)造函數(shù)構(gòu)造函數(shù)void Show() const cout n n 或或 Integer : n 6有以下程序:有以下程序:class Apublic:A() cout A; / 構(gòu)造函數(shù)構(gòu)造函數(shù)A() cout A; / 析構(gòu)函
45、數(shù)析構(gòu)函數(shù);int main()/ 主函數(shù)主函數(shù)main()A *p = new A;/ 定義指針定義指針delete p;/ 釋放動(dòng)態(tài)空間釋放動(dòng)態(tài)空間cout endl;/ 換行換行system(PAUSE);/ 調(diào)用庫(kù)函數(shù)調(diào)用庫(kù)函數(shù)system( ),輸出系統(tǒng)提示,輸出系統(tǒng)提示return 0; / 返回值返回值0, 返回操作系統(tǒng)返回操作系統(tǒng)程序的輸出結(jié)果是程序的輸出結(jié)果是 。解析:解析:創(chuàng)建動(dòng)態(tài)對(duì)象時(shí)需調(diào)用創(chuàng)建動(dòng)態(tài)對(duì)象時(shí)需調(diào)用A的構(gòu)造函數(shù),輸出的構(gòu)造函數(shù),輸出“A”;釋放動(dòng)態(tài)對(duì)象時(shí),;釋放動(dòng)態(tài)對(duì)象時(shí),調(diào)用調(diào)用A的析構(gòu)函數(shù),輸出的析構(gòu)函數(shù),輸出“A”。答案:答案:AA 三、編程題三、編程題
46、1定義一個(gè)滿(mǎn)足如下要求的定義一個(gè)滿(mǎn)足如下要求的Date類(lèi)。類(lèi)。(1)用下面的格式輸出日期:)用下面的格式輸出日期:年年-月月-日日(2)設(shè)置日期。)設(shè)置日期。并編出應(yīng)用程序,定義日期對(duì)象,設(shè)置日期,輸出該對(duì)象提供的日期。并編出應(yīng)用程序,定義日期對(duì)象,設(shè)置日期,輸出該對(duì)象提供的日期。參考程序參考程序:#include / 編譯預(yù)處理命令編譯預(yù)處理命令using namespace std;/ 使用命名空間使用命名空間std class Dateprivate:/ 數(shù)據(jù)成員數(shù)據(jù)成員int year;/ 年年int month;/ 月月int day;/ 日日1定義一個(gè)滿(mǎn)足如下要求的定義一個(gè)滿(mǎn)足如下
47、要求的Date類(lèi)。類(lèi)。(1)用下面的格式輸出日期:)用下面的格式輸出日期:年年-月月-日日(2)設(shè)置日期。)設(shè)置日期。并編出應(yīng)用程序,定義日期對(duì)象,設(shè)置日期,輸出該對(duì)象提供的日期。并編出應(yīng)用程序,定義日期對(duì)象,設(shè)置日期,輸出該對(duì)象提供的日期。參考程序參考程序:public:/ 公有函數(shù)公有函數(shù)Date(int y = 2010, int m = 1, int d = 1):year(y), month(m), day(d)/ 構(gòu)造函數(shù)構(gòu)造函數(shù)void Set(int y, int m, int d)/ 設(shè)置日期設(shè)置日期 year = y; month = m; day = d; void Sh
48、ow() const/ 顯示日期顯示日期 cout year - month - day endl; ;int main()/ 主函數(shù)主函數(shù)main()Date d;/ 定義對(duì)象定義對(duì)象d.Show();/ 顯示日期顯示日期d.Set(2016, 6, 18);/ 設(shè)置日期設(shè)置日期d.Show();/ 顯示日期顯示日期system(PAUSE);/ 調(diào)用庫(kù)函數(shù)調(diào)用庫(kù)函數(shù)system( ),輸出提示信息,輸出提示信息return 0; / 返回值返回值, 返回操作系統(tǒng)返回操作系統(tǒng)2定義一個(gè)時(shí)間類(lèi)定義一個(gè)時(shí)間類(lèi)Time,能提供和設(shè)置由時(shí)、分、秒組成的時(shí)間,并編出,能提供和設(shè)置由時(shí)、分、秒組成的時(shí)間
49、,并編出應(yīng)用程序,定義時(shí)間對(duì)象,設(shè)置時(shí)間,輸出該對(duì)象提供的時(shí)間。應(yīng)用程序,定義時(shí)間對(duì)象,設(shè)置時(shí)間,輸出該對(duì)象提供的時(shí)間。 參考程序參考程序:#include / 編譯預(yù)處理命令編譯預(yù)處理命令using namespace std;/ 使用命名空間使用命名空間std class Timeprivate:/ 數(shù)據(jù)成員數(shù)據(jù)成員int hour;/ 時(shí)時(shí)int minute;/ 分分int second;/ 秒秒public:/ 公有函數(shù)公有函數(shù)Time(int h = 0, int m = 0, int s = 0):/ 構(gòu)造函數(shù)構(gòu)造函數(shù)hour(h), minute(m), second(s)vo
50、id Set(int h, int m, int s)/ 設(shè)置日期設(shè)置日期 hour = h; minute = m; second = s; void Show() const/ 顯示日期顯示日期 cout hour : minute : second endl; ;int main()/ 主函數(shù)主函數(shù)main()Time t;/ 定義對(duì)象定義對(duì)象t.Show();/ 顯示時(shí)間顯示時(shí)間t.Set(8, 6, 18);/ 設(shè)置時(shí)間設(shè)置時(shí)間t.Show();/ 顯示時(shí)間顯示時(shí)間system(PAUSE);/ 調(diào)用庫(kù)函數(shù)調(diào)用庫(kù)函數(shù)system( ),輸出提示信息,輸出提示信息return 0; /
51、 返回值返回值, 返回操作系統(tǒng)返回操作系統(tǒng)*3編寫(xiě)設(shè)計(jì)一個(gè)編寫(xiě)設(shè)計(jì)一個(gè)People(人)類(lèi)。該類(lèi)的數(shù)據(jù)成員有姓名(人)類(lèi)。該類(lèi)的數(shù)據(jù)成員有姓名(name)、年齡、年齡(age)、身高、身高(height)、體重、體重(weight)和人數(shù)和人數(shù)(num),其中人數(shù)為靜態(tài)數(shù)據(jù)成員,其中人數(shù)為靜態(tài)數(shù)據(jù)成員,成員函數(shù)有構(gòu)造函數(shù)成員函數(shù)有構(gòu)造函數(shù)(People)、進(jìn)食、進(jìn)食(Eatting)、運(yùn)動(dòng)、運(yùn)動(dòng)(Sporting)、顯示、顯示(Show)和顯示人數(shù)和顯示人數(shù)(ShowNum)。其中構(gòu)造函數(shù)由已知參數(shù)姓名。其中構(gòu)造函數(shù)由已知參數(shù)姓名(nm)、年齡、年齡(a)、身高、身高(h)和體重和體重(w)構(gòu)
52、造對(duì)象,進(jìn)食函數(shù)使體重加構(gòu)造對(duì)象,進(jìn)食函數(shù)使體重加1,運(yùn)動(dòng)函數(shù)使身高加,運(yùn)動(dòng)函數(shù)使身高加1,顯示函數(shù),顯示函數(shù)用于顯示人的姓名、年齡、身高、體重,顯示人數(shù)函數(shù)為靜態(tài)成員函數(shù),用于用于顯示人的姓名、年齡、身高、體重,顯示人數(shù)函數(shù)為靜態(tài)成員函數(shù),用于顯示人數(shù)。假設(shè)年齡的單位為歲,身高的單位為厘米,體重的單位為市斤,要顯示人數(shù)。假設(shè)年齡的單位為歲,身高的單位為厘米,體重的單位為市斤,要求所有數(shù)據(jù)成員為求所有數(shù)據(jù)成員為private訪問(wèn)權(quán)限,所有成員函數(shù)為訪問(wèn)權(quán)限,所有成員函數(shù)為public訪問(wèn)權(quán)限,在主函訪問(wèn)權(quán)限,在主函數(shù)中定義若干個(gè)對(duì)象,通過(guò)對(duì)象直接訪問(wèn)類(lèi)的所有非靜態(tài)成員函數(shù),通過(guò)類(lèi)訪數(shù)中定義若干
53、個(gè)對(duì)象,通過(guò)對(duì)象直接訪問(wèn)類(lèi)的所有非靜態(tài)成員函數(shù),通過(guò)類(lèi)訪問(wèn)靜態(tài)成員函數(shù)。問(wèn)靜態(tài)成員函數(shù)。參考程序參考程序:#include / 編譯預(yù)處理命令編譯預(yù)處理命令using namespace std;/ 使用命名空間使用命名空間std class Peopleprivate:/ 數(shù)據(jù)成員數(shù)據(jù)成員char name9;/ 姓名姓名int age;/ 年齡年齡int height;/ 身高身高double weight;/ 體重體重static int num;/ 人數(shù)人數(shù)public:/ 公有函數(shù)公有函數(shù)People(char nm = 無(wú)名氏無(wú)名氏, int a = 16, int h = 168
54、, int w = 118):age(a), height(h), weight(w) strcpy(name, nm); num+; void Eatting() weight+; / 進(jìn)食進(jìn)食void Sporting() height+; / 運(yùn)動(dòng)運(yùn)動(dòng)void Show()const/ 顯示信息顯示信息 cout 個(gè)人信息個(gè)人信息: endl;cout 姓名姓名: name endl;cout 年齡年齡: age 歲歲 endl;cout 身高身高: height 厘米厘米 endl;cout 體重體重: weight 市斤市斤 endl endl;static void ShowNum
55、()/ 顯示人數(shù)顯示人數(shù) cout 人數(shù)人數(shù): num endl; ;int People:num = 0;/ 初始化靜態(tài)數(shù)據(jù)成員初始化靜態(tài)數(shù)據(jù)成員num int main()/ 主函數(shù)主函數(shù)main()People p1;/ 定義對(duì)象定義對(duì)象p1.Show();/ 顯示信息顯示信息People p2(李敏李敏, 18, 170, 108);/ 定義對(duì)象定義對(duì)象p2.Eatting();/ 進(jìn)食進(jìn)食p2.Sporting();/ 運(yùn)動(dòng)運(yùn)動(dòng)p2.Show();/ 顯示信息顯示信息People:ShowNum();/ 顯示人數(shù)顯示人數(shù)system(PAUSE);/ 調(diào)用庫(kù)函數(shù)調(diào)用庫(kù)函數(shù)system
56、( ),輸出提示信息,輸出提示信息return 0; / 返回值返回值, 返回操作系統(tǒng)返回操作系統(tǒng)*4定義一個(gè)描述員工定義一個(gè)描述員工(Employee)基本情況的類(lèi),數(shù)據(jù)成員包括編號(hào)基本情況的類(lèi),數(shù)據(jù)成員包括編號(hào)(num)、姓名姓名(name)、性別、性別(sex)、工資(、工資(wage)、人數(shù))、人數(shù)(count)、總工資、總工資(totalWage)。其中姓名定義為長(zhǎng)度為其中姓名定義為長(zhǎng)度為18的字符數(shù)組,性別為為長(zhǎng)度為的字符數(shù)組,性別為為長(zhǎng)度為3的字符數(shù)組,其它數(shù)的字符數(shù)組,其它數(shù)據(jù)成員類(lèi)型為整型,總工資和人數(shù)為靜態(tài)數(shù)據(jù)成員,函數(shù)成員包括構(gòu)造函數(shù)、據(jù)成員類(lèi)型為整型,總工資和人數(shù)為靜態(tài)
57、數(shù)據(jù)成員,函數(shù)成員包括構(gòu)造函數(shù)、顯示基本數(shù)據(jù)函數(shù)顯示基本數(shù)據(jù)函數(shù)(ShowBase)和顯示靜態(tài)數(shù)據(jù)函數(shù)和顯示靜態(tài)數(shù)據(jù)函數(shù)(ShowStatic),其中構(gòu)造,其中構(gòu)造函數(shù)由已知參數(shù)編號(hào)函數(shù)由已知參數(shù)編號(hào)(nu) 、姓名、姓名(nm) 、性別、性別(sx)和工資和工資(wg)構(gòu)造對(duì)象,顯示基構(gòu)造對(duì)象,顯示基本數(shù)據(jù)函數(shù)用于顯示學(xué)生的編號(hào)、姓名、性別和工資,顯示靜態(tài)數(shù)據(jù)函數(shù)為靜本數(shù)據(jù)函數(shù)用于顯示學(xué)生的編號(hào)、姓名、性別和工資,顯示靜態(tài)數(shù)據(jù)函數(shù)為靜態(tài)成員函數(shù),用于顯示人數(shù)和總工資;要求所有數(shù)據(jù)成員為態(tài)成員函數(shù),用于顯示人數(shù)和總工資;要求所有數(shù)據(jù)成員為protected訪問(wèn)權(quán)訪問(wèn)權(quán)限,所有成員函數(shù)為限,所有
58、成員函數(shù)為public訪問(wèn)權(quán)限,在主函數(shù)中定義若干個(gè)員工對(duì)象,分別訪問(wèn)權(quán)限,在主函數(shù)中定義若干個(gè)員工對(duì)象,分別顯示員工基本信息,以及顯示員工人數(shù)和總工資。顯示員工基本信息,以及顯示員工人數(shù)和總工資。 參考程序:參考程序:#include / 編譯預(yù)處理命令編譯預(yù)處理命令using namespace std;/ 使用命名空間使用命名空間std class Employeeprotected:/ 數(shù)據(jù)成員數(shù)據(jù)成員int num;/ 編號(hào)編號(hào)char name18;/ 姓名姓名char sex3;/ 姓名姓名int wage;/ 工資工資static int count;/ 人數(shù)人數(shù)static
59、int totalWage;/ 總工資總工資public:/ 公有函數(shù)公有函數(shù)Employee(int nu, char nm, char sx, int wg): num(nu), wage(wg) strcpy(name, nm); strcpy(sex, sx); count+; totalWage += wg; ; void ShowBase()/ 顯示基本數(shù)據(jù)顯示基本數(shù)據(jù) cout 個(gè)人基本信息個(gè)人基本信息: endl;cout 學(xué)號(hào)學(xué)號(hào): num endl;cout 姓名姓名: name endl;cout 性別性別: sex endl;cout 工資工資: wage 元元 end
60、l endl;static void ShowStatic()/ 顯示靜態(tài)數(shù)據(jù)顯示靜態(tài)數(shù)據(jù) cout 人數(shù)人數(shù): count endl;cout 總工資總工資: totalWage 元元 endl;int Employee:count = 0;/ 初始化靜態(tài)數(shù)據(jù)成員初始化靜態(tài)數(shù)據(jù)成員count int Employee:totalWage = 0;/ 初始化靜態(tài)數(shù)據(jù)成員初始化靜態(tài)數(shù)據(jù)成員totalWageint main()/ 主函數(shù)主函數(shù)main()Employee e1(1008, 李杰李杰, 男男, 2680);/ 定義對(duì)象定義對(duì)象e1.ShowBase();/ 顯示基本數(shù)據(jù)顯示基本數(shù)據(jù)Employee e2(1009, 李敏李敏
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 27403:2024 EN Cybersecurity – IoT security and privacy – Guidelines for IoT-domotics
- 2025年無(wú)機(jī)分離膜材料合作協(xié)議書(shū)
- 2025版安置房買(mǎi)賣(mài)合同范本:限價(jià)房交易政策范本
- 2025年度廠區(qū)門(mén)衛(wèi)智能化升級(jí)改造服務(wù)合同范本
- 2025年高壓清洗車(chē)合作協(xié)議書(shū)
- 社團(tuán)活動(dòng)反饋與改進(jìn)方案計(jì)劃
- 教學(xué)資源整合與優(yōu)化策略計(jì)劃
- 企業(yè)未來(lái)發(fā)展的創(chuàng)新思考計(jì)劃
- 財(cái)務(wù)企劃管理計(jì)劃
- 建立健全院內(nèi)溝通反饋機(jī)制的計(jì)劃
- 蛤蟆先生去看心理醫(yī)生
- 懸挑式卸料平臺(tái)安拆作業(yè)安全技術(shù)交底
- 疾病診斷編碼庫(kù)ICD-10
- 蘭州市規(guī)范醫(yī)療服務(wù)價(jià)格項(xiàng)目基準(zhǔn)價(jià)格表
- 西漢-北京大學(xué)歷史學(xué)系教學(xué)課件
- 產(chǎn)品設(shè)計(jì)材料及工藝PPT完整版全套教學(xué)課件
- 2006年度銀行業(yè)金融機(jī)構(gòu)信息科技風(fēng)險(xiǎn)評(píng)價(jià)審計(jì)要點(diǎn)
- 反恐C-TPAT程序文件整套(通用)
- 2022年全國(guó)高考詩(shī)歌鑒賞試題-教學(xué)課件
- 化學(xué)檢驗(yàn)工高級(jí)工理論知識(shí)試題題及答案
- 廣東省五年一貫制語(yǔ)文試卷
評(píng)論
0/150
提交評(píng)論