


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1、2、3、為(第三章 類與對象選擇題在一個(gè)類的定義中 , 包含有 ( C ) 成員的定義。 函數(shù)(公用 假定AA為一個(gè)類,a為該類公有的數(shù)據(jù)成員D ) 。A 、 數(shù)據(jù)B 、在類作用域中能夠通過直接使用該類的A 、 私有B 、C 、 數(shù)據(jù)與函數(shù)D) 成員名進(jìn)行訪問。C 、 保護(hù),x 為該類的一個(gè)對象 , 則訪問D 、 數(shù)據(jù)或函數(shù)D 、 任何x 對象中數(shù)據(jù)成員 a 的格式A 、 x(a)4、假定AA為一個(gè)類,a() 式為 ( B ) 。B、 xa為該類公有的函數(shù)成員C 、 x->a,x 為該類的一個(gè)對象 , 則訪問D 、 x 、 ax 對象中函數(shù)成員 a() 的格A、 x 、5、假定AA為
2、一個(gè)類,a 據(jù)成員a的格式為(CA 、 px(a)B 、 pxaC 、 px->aaB 、 x 、為該類公有的數(shù)據(jù)成員) 。a()C 、 x->a,px 為指向該類對象的一個(gè)指針D、 x->a(), 則訪問 px 所指對象中數(shù)6、 假定AA為一個(gè)類,a為該類私有的數(shù)據(jù)成員,GetValue()為該類公有函數(shù)成員 的一個(gè)對象 , 則訪問 x 對象中數(shù)據(jù)成員 a 的格式為 (A 、 x 、 aB 、 x 、 a()D)。, 它返回C 、 x->GetValue()D 、 px 、 aa 的值 ,x 為該類GetValue()7、(A假定 AA 為一個(gè)類 ,int a() 為
3、該類的一個(gè)成員函數(shù) ) 。, 若該成員函數(shù)在類定義體外定義, 則函數(shù)頭為8、(AA 、 int AA:a()C 、 AA:a()假定 AA 為一個(gè)類 ,a 為該類公有的數(shù)據(jù)成員 )。B、int AA:a() D 、 AA:int a() , 若要在該類的一個(gè)成員函數(shù)中訪問它, 則書寫格式為A、 aB 、 AA:aC、 a()D、 AA:a()9、若需要把一個(gè)類外定義的成員函數(shù)指明為內(nèi)聯(lián)函數(shù), 則必須把關(guān)鍵字( B) 放在函數(shù)原型或函數(shù)頭的前面。A 、 inB 、 inlineC 、 inLineD、 InLiner10 、在多文件結(jié)構(gòu)的程序中, 通常把類的定義單獨(dú)存放于( D ) 中。A 、
4、主文件B 、 實(shí)現(xiàn)文件C、庫文件D、頭文件11、在多文件結(jié)構(gòu)的程序中, 通常把類中所有非內(nèi)聯(lián)函數(shù)的定義單獨(dú)存放于(B)中。A 、 主文件B 、 實(shí)現(xiàn)文件C、庫文件D、頭文件12 、在多文件結(jié)構(gòu)的程序中, 通常把含有 main() 函數(shù)的文件稱為 (A) 。A 、 主文件B 、 實(shí)現(xiàn)文件C、程序文件D、頭文件13、(14、在C+程序中使用的cin標(biāo)識符就是系統(tǒng)類庫中定義的B 、 ostream在C+程序中使用的cout標(biāo)識符就是系統(tǒng)類庫中定義的A 、 istreamA )C、BA 、 istreamB 、 ostream15、假定AA就是一個(gè)類,abc就是該類的一個(gè)成員函數(shù)A 、 intB 、
5、char曰是A 、 abcB 、17、假定AA就是一個(gè)類,“AA& abc(); ”語句 , 當(dāng)用 x、 abc() 調(diào)用該成員函數(shù)后 ,xA 、 已經(jīng)被改變C、類中的一個(gè)對象。iostream)類中的一個(gè)對象。iostreamD、 fstream16、假定AA就是一個(gè)類,abc就是該類的一個(gè)成員函數(shù)*this 就是該類中一個(gè)成員函數(shù)的原型 的值(A ) oB 、 可能被改變, 則參數(shù)表中隱含的第一個(gè)參數(shù)的類型為C、 AAD 、 AA*, 則參數(shù)表中隱含的第一個(gè)參數(shù)為 (C 、 thisD 、 this&D 、 fstream( D)。C)。, 若該函數(shù)存在對 *this 賦值
6、的18、假定 AA 就是一個(gè)類 , “ AA* abc()const;”就是該類中一個(gè)成員函數(shù)的原型, 若該函數(shù)返回this 值, 當(dāng)用x、 abc() 調(diào)用該成員函數(shù)后,x的值(C )。A 、 已經(jīng)被改變B、可能被改變C 、 不變D、 受到函數(shù)調(diào)用的影響19、類中定義的成員默認(rèn)為 (B) 訪問屬性。A 、 publicB、privateC、protectedD 、 friend20 、結(jié)構(gòu)中定義的成員默認(rèn)為 (A) 訪問屬性。A 、 publicB、privateC、protectedD 、 friend21 、當(dāng)類中一個(gè)字符指針成員指向具有n 個(gè)字節(jié)的存儲空間時(shí), 它所能存儲字符串的最大長
7、度為(C ) 。A、 nB 、n+1C 、n-1D、n-222 、 對于一個(gè)類的構(gòu)造函數(shù), 其函數(shù)名與類名 (A )。A 、 完全相同B 、 基本相同C 、 不相同D 、 無關(guān)系23 、 對于一個(gè)類的析構(gòu)函數(shù), 其函數(shù)名與類名 (C ) 。A 、 完全相同B、 完全不同C 、 只相差一個(gè)字符D、無關(guān)系28 、29 、“AB x; ”語句時(shí)將自動(dòng)調(diào)用該類的 (B )。B 、 無參構(gòu)造函數(shù)C、 拷貝構(gòu)造函數(shù)D、賦值重載函數(shù)“AB x(a,5); ”語句時(shí)將自動(dòng)調(diào)用該類的(A) 。B 、 無參構(gòu)造函數(shù)C、 拷貝構(gòu)造函數(shù)D、賦值重載函數(shù)假定AB為一個(gè)類,則執(zhí)行 A 、 帶參構(gòu)造函數(shù)假定AB為一個(gè)類,則
8、執(zhí)行 A 、 帶參構(gòu)造函數(shù)A 、 成員函數(shù)B 、 數(shù)據(jù)成員C 、 對象D 、 友元函數(shù)類的析構(gòu)函數(shù)就是一個(gè)對象被(B)時(shí)自動(dòng)調(diào)用的。A 、 建立B 、撤消C 、 賦值D 、 引用一個(gè)類的構(gòu)造函數(shù)通常被定義為該類的(A ) 成員。A 、 公用B 、保護(hù)C 、 私有D 、 友元一個(gè)類的析構(gòu)函數(shù)通常被定義為該類的(C) 成員。A 、 私有B 、保護(hù)C 、 公用D 、 友元24 、 類的構(gòu)造函數(shù)就是在定義該類的一個(gè) (C) 時(shí)被自動(dòng)調(diào)用執(zhí)行的。25 、26 、27 、30、假定AB為一個(gè)類,則執(zhí)行“AB *s=new AB(a,5); ”語句時(shí)得到的一個(gè)動(dòng)態(tài)對象為D31 、32 、33 、A、 sB
9、、 s->a假定AB為一個(gè)類,則執(zhí)行“AB r1=r2; ”語句時(shí)將自動(dòng)調(diào)用該類的 (A、 無參構(gòu)造函數(shù) B、 帶參構(gòu)造函數(shù)C、 賦值重載函數(shù)若需要使類中的一個(gè)指針成員指向一塊動(dòng)態(tài)存儲空間 , 則通常在 ( B C 、 任一成員D 、 *s儲(A 、 析構(gòu)B 、 構(gòu)造當(dāng)類中的一個(gè)整型指針成員指向一塊具有A ) 個(gè)整數(shù)。nB 、 n+1n*sizeof(int)A、C、34 、x(4,5);35 、假定 一 個(gè) 類 的 構(gòu) 造函 數(shù) 為“A(int”語句后 ,x 、 a 與 x、 b 的值分別為 ( A、 4 與 5假定一個(gè)類的構(gòu)造函數(shù)為B、D ) 。D、 拷貝構(gòu)造函數(shù) ) 函數(shù)中完成。D
10、 、 友元大小的存儲空間時(shí) , 它最多能夠存n-1D、 1語句后,x、a與x、b的值分別為(A、 1 與 036、假定AB為一個(gè)類,則(A 、 AB(AB x);DB、B、5 與 4 A(int aa=1,) 。1 與 4aa,C )。C、intintbb) a=aa;b=aa*bb;”, 則 執(zhí) 行4 與 20bb=0) a=aa; b=bb; ”D 、 20, 則執(zhí)行與5“ A x(4); ”D、 4與0B ) 為該類的拷貝構(gòu)造函數(shù)的原型說明。AB(AB& x);C、 void AB(AB&x);D 、 AB(int37、 假定一 個(gè)類 的 構(gòu)造函 數(shù)為x);B(int a
11、x, int bx): a(ax), b(bx) ”,執(zhí) 行 “ BAB 只含有一個(gè)整型數(shù)據(jù)成員 a, 當(dāng)用戶不定義任何構(gòu)造函數(shù)時(shí) , 系統(tǒng)為該類定義 D ) 。38 、 假定一個(gè)類 的無參構(gòu)造函數(shù)為 (A、 AB() a=0;B、 AB(int aa=0): a(aa) C、 AB(int aa): a(aa) D、 AB() 假定一個(gè)類 AB 只含有一個(gè)整型數(shù)據(jù)成員 a, 用戶為該類定義的帶參構(gòu)造函數(shù)可以為39 、 C ) 。40 、41 、A 、 AB() C、 AB(int aa=0) a=aa; 對于任一個(gè)類A、 0對于任一個(gè)類A、 0, 用戶所能定義的構(gòu)造函數(shù)的個(gè)數(shù)至多為B、 1C
12、、 2, 用戶所能定義的析構(gòu)函數(shù)的個(gè)數(shù)至多為1C 、 2B、函數(shù)為(BB、AB(): a(0)42 、43 、C ) 。44 、45 、D、 AB(int aa) (DD、D、假定AB為一個(gè)類,則執(zhí)行“AB *px=newABn; ”語句時(shí)將(動(dòng)態(tài)分配一個(gè)數(shù)組B、 動(dòng)態(tài)分配一個(gè)對象靜態(tài)分配一個(gè)數(shù)組D、 靜態(tài)分配一個(gè)對象就是指向一個(gè)類對象的指針變量,則執(zhí)行 “ delete px;) 。任意個(gè)B ) 。任意個(gè)A ) 。A、C、設(shè) pxA、無參構(gòu)造函數(shù)B、帶參構(gòu)造函數(shù)C、語句時(shí) , 將自動(dòng)調(diào)用該類的析構(gòu)函數(shù)D 、 拷貝構(gòu)造當(dāng)一個(gè)類對象離開它的作用域時(shí)A 、 無參構(gòu)造函數(shù)假定一個(gè)類對象數(shù)組為, 系統(tǒng)
13、自動(dòng)調(diào)用該類的 帶參構(gòu)造函數(shù)An, 當(dāng)離開它定義的作用域時(shí)B、D )??截悩?gòu)造函數(shù), 系統(tǒng)自動(dòng)調(diào)用該類析構(gòu)函數(shù)的次數(shù)C、D 、 析構(gòu)函數(shù)B、, 則執(zhí)行B、C、 n”語句時(shí)調(diào)用該類無參構(gòu)造函數(shù)的次數(shù)為 ( D ) 。C、 9D 、 n-11AB a10;1假定 AB 為一個(gè)類 , 則執(zhí)行 “ AB *px=new ABn;46、假定AB為一個(gè)類47 、48 、A、假定nB、n-1C、AB 為一個(gè)類 , 則執(zhí)行“ AB a, b(3), *p;49 、) 。A、B、2假定AB為一個(gè)類,則執(zhí)行3“AB a(2),C、b3,D、 10”語句時(shí)調(diào)用該類無參構(gòu)造函數(shù)的次數(shù)為D、 0”語句時(shí)共調(diào)用該類構(gòu)造函
14、數(shù)的次數(shù)為4*p4;D、 5”語句時(shí)共調(diào)用該類構(gòu)造函數(shù)的次數(shù)為A、 3B、假定AB為一個(gè)類,則執(zhí)行 次數(shù)為 ( D ) 。50 、51 、A、假定B、A、C、4AB a, b(2), c3, *p=&a;D、 9”語句時(shí)共調(diào)用該類無參構(gòu)造函數(shù)的5AB 為一個(gè)類,則執(zhí)行“ AB *p=new AB(1,2);B、D、 4語句時(shí)共調(diào)用該類構(gòu)造函數(shù)的次數(shù)為0B、1假定 AB 為一個(gè)類 ,px 為指向該類的一個(gè)含有px; ”語句時(shí)共調(diào)用該類析構(gòu)函數(shù)的次數(shù)為 ( C1對類對象成員的初始化就是通過構(gòu)造函數(shù)中給出的A 、 函數(shù)體B 、 初始化表52 、B、C、個(gè)對象的動(dòng)態(tài)數(shù)組的指針 , 則執(zhí)行“ d
15、elete) 。C、D 、 n+1D ) 實(shí)現(xiàn)的。C 、 參數(shù)表D 、 初始化表或函數(shù)體54 、對類中常量成員的初始化就是通過構(gòu)造函數(shù)中給出的( C ) 實(shí)現(xiàn)的?;砘蚝瘮?shù)體55 、 對類中引用成員的初始化就是通過構(gòu)造函數(shù)中給出的A 、 函數(shù)體B 、 參數(shù)表化表或函數(shù)體56 、 一個(gè)類的靜態(tài)數(shù)據(jù)成員所表示屬性 ( C ) 。 A 、 就是類的或?qū)ο蟮膶傩?C 、 只就是類的屬性(C ) 實(shí)現(xiàn)的。C 、 初始化表D 、 初始B 、 只就是對象的屬性D 、 類與友元的屬性成員類的靜態(tài)成員的訪問控制 (D ) 。A、只允許被定義為privateB、只允許被定義為private或 protectedC
16、、只允許被定義為publicD、可允許被定義為private、 protected58 、 靜態(tài)成員函數(shù)對類的數(shù)據(jù)成員訪問(B )A、就是不允許的C 、 只允許就是非靜態(tài)數(shù)據(jù)成員57 、或 publicoD、B 、 只允許就是靜態(tài)數(shù)據(jù)成員 可允許就是靜態(tài)數(shù)據(jù)成員或非靜態(tài)數(shù)據(jù)59 、( A )。數(shù)據(jù)成員60 、61 、 ( D ) 。護(hù)成員62 、63 、64 、被非靜態(tài)成員函數(shù)訪問的類的數(shù)據(jù)成員A、 可以就是非靜態(tài)數(shù)據(jù)成員或靜態(tài)數(shù)據(jù)成員C、 只能就是類的非靜態(tài)數(shù)據(jù)成員B、不可能就是類的靜態(tài)數(shù)據(jù)成員D、 只能就是類的靜態(tài)靜態(tài)數(shù)據(jù)成員的初始化就是在 (A 、 構(gòu)造函數(shù) 所屬類當(dāng)將一個(gè)類A或函數(shù)f(
17、)說明為另一個(gè)類 B的友元后,類A或函數(shù)f()能夠直接訪問類 B的D ) 中進(jìn)行的。B、C、 任何成員函數(shù) D 、 全局區(qū)A 、 只能就是公有成員B 、 只能就是保C、 只能就是除私有成員之外的任何成員 引入友元的主要目的就是為了 (A 、 增強(qiáng)數(shù)據(jù)安全性C 、 提高程序的效率與靈活性D 、一個(gè)類的成員函數(shù)也可以成為另一個(gè)類的友元函數(shù)A 、 需加上類域的限定C、 類域的限定可加可不加D 、 具有任何權(quán)限的成員B 、 提高程序的可靠性保證類的封裝性, 這時(shí)的友元說明 (AB 、 不需加上類域的限定 不需要任何限定, 所以它 ( DD、一個(gè)類的友元不就是該類的成員 , 與該類的關(guān)系密切 有 thi
18、s 指針 , 有默認(rèn)操作的對象 沒有 this 指針 , 可以有默認(rèn)操作的對象 有 this 指針 , 不能執(zhí)行默認(rèn)操作 沒有 this 指針 , 也就沒有默認(rèn)操作的對象A、B、C、D、二、程序填充題1、 已知一個(gè)類的定義如下 #include<iostream 、 h> class AA int a10;int n;)。)。public:void SetA(int aa, int nn); / int MaxA(); /void SortA(); /void In sertA();void PrintA(); /;用數(shù)組aa初始化數(shù)據(jù)成員a,用nn初始化數(shù)據(jù)成員n 從數(shù)組a中前n
19、個(gè)元素中查找最大值采用選擇排序的方法對數(shù)組a中前n個(gè)元素,進(jìn)行從小到大排序采用插入排序的方法對數(shù)組a中前n個(gè)元素進(jìn)行從小到大排序依次輸出數(shù)組a中的前n個(gè)元素該類中MaxA()函數(shù)的實(shí)現(xiàn)如下,請?jiān)跇?biāo)號位置補(bǔ)充適當(dāng)?shù)膬?nèi)容。int(1)_ _AA:Max()int x=a0;for(i nt i=1; i<n; i+)if(ai>x)(3) _return x_x=a i _已知一個(gè)類的定義如下:#include<iostream、h>class AA int a10;int n;public:void SetA(int aa, int nn); / int MaxA();
20、/void SortA(); /void In sertA();void PrintA(); /;void AA:SortA()2、用數(shù)組aa初始化數(shù)據(jù)成員a,用nn初始化數(shù)據(jù)成員n 從數(shù)組a中前n個(gè)元素中查找最大值采用選擇排序的方法對數(shù)組a中前n個(gè)元素,進(jìn)行從小到大排序采用插入排序的方法對數(shù)組a中前n個(gè)元素進(jìn)行從小到大排序依次輸出數(shù)組a中的前n個(gè)元素int i,j;for(i=0;(1)int x=ai, k=i; for(j=i+1; j< n; j+) if(aj<x) (2)_ ak=ai; ai=x _;i<n_1 或 i<=n_2_ _; i+) x=aj;
21、k=j_3、#in clude<iostream class AA int a10;int n;已知一個(gè)類的定義如下、h>public:void SetA(int aa, int nn); / int MaxA(); /void SortA(); /void In sertA();/void PrintA(); /;void(1)_ AA:I nsert()用數(shù)組aa初始化數(shù)據(jù)成員a,用nn初始化數(shù)據(jù)成員n 從數(shù)組a中前n個(gè)元素中查找最大值采用選擇排序的方法對數(shù)組a中前n個(gè)元素,進(jìn)行從小到大排序采用插入排序的方法對數(shù)組a中前n個(gè)元素進(jìn)行從小到大排序依次輸出數(shù)組a中的前n個(gè)元素已知一
22、個(gè)類的定義如下:#include<iostream、h>class AA int a10;int n;public:void SetA(int aa, int nn); / int MaxA(); /void SortA(); /void In sertA();void PrintA(); /;使用該類的主函數(shù)如下void mai n()int i,j;for(i=1; i<n; i+) int x=ai;for(j=i-1; j>=0; j-)if(x<aj)一aj+1=aj_else(3) break;aj+1=x;用數(shù)組aa初始化數(shù)據(jù)成員a,用nn初始化數(shù)據(jù)
23、成員n 從數(shù)組a中前n個(gè)元素中查找最大值采用選擇排序的方法對數(shù)組a中前n個(gè)元素,進(jìn)行從小到大排序采用插入排序的方法對數(shù)組a中前n個(gè)元素進(jìn)行從小到大排序依次輸出數(shù)組a中的前n個(gè)元素,最后輸出一個(gè)換行int a10=23,78,46,55,62,76,90,25,38,42;AA x;(1)_ x、SetA(a,6) _;int m= x、MaxA() _;_一 x、PrintA() cout<<m<<e ndl;該程序運(yùn)行結(jié)果為:23 78 46 55 62 76785、已知一個(gè)類的定義如下 :#include<iostream 、 h>class AA in
24、t a10;int n;public:void SetA(int aa, int nn); /用數(shù)組 aa 初始化數(shù)據(jù)成員 a, 用 nn 初始化數(shù)據(jù)成員 nint MaxA(); /從數(shù)組 a 中前 n 個(gè)元素中查找最大值void SortA(); / 采用選擇排序的方法對數(shù)組 a 中前 n 個(gè)元素 , 進(jìn)行從小到大排序void PrintA(); /依次輸出數(shù)組 a 中的前 n 個(gè)元素 , 最后輸出一個(gè)換行;使用該類的主函數(shù)如下 :void main()int a10=23,78,46,55,62,76,90,25,38,42;_(1) _AA x _;x 、 SetA(a,8);int
25、_(2)_ m=x、 MaxA( ) _;_(3) _x、 Sort( )_ _;x 、 PrintA();cout<<m<<endl;該程序運(yùn)行結(jié)果為 :23 25 46 55 62 76 78 90906、已知一個(gè)利用數(shù)組實(shí)現(xiàn)棧的類定義如下const int ARRAY_SIZE=10;class Stack 初始化棧為空 向棧中壓入一個(gè)元素 從棧頂彈出一個(gè)元素public:void Init() top=-1; /void Push(int newElem); / int Pop(); / bool Empty() /判棧空if(top=-1) return tr
26、ue;else return false;int Depth() return top+1; / 返回棧的深度void Print();/ 按照后進(jìn)先出原則依次輸出棧中每個(gè)元素 , 直到棧空為止用于保存棧元素的數(shù)組 指明棧頂元素位置的指針private:int elemARRAY_SIZE; / int top; /;void Stack:Push(int newElem) if(_(1) _top=ARRAY_SIZE-1_) cout<<" 棧滿 !"<<endl; exit(1); / 中止運(yùn)行_(2) top+ 或 (+top) _; ele
27、mtop=_(3)_ newElem_;7、已知一個(gè)利用數(shù)組實(shí)現(xiàn)棧的類定義如下const int ARRAY_SIZE=10;class Stack 初始化棧為空 向棧中壓入一個(gè)元素 從棧頂彈出一個(gè)元素public:void Init() top=-1; /void Push(int newElem); / int Pop(); / bool Empty() /判??読f(top=-1) return true;else return false;int Depth() return top+1; / 返回棧的深度void Print();/ 按照后進(jìn)先出原則依次輸出棧中每個(gè)元素 , 直到棧空
28、為止private:int elemARRAY_SIZE; / 用于保存堆棧元素的數(shù)組 int top; / 指明棧頂元素位置的指針 ;該類的 Pop 與 Print 函數(shù)的實(shí)現(xiàn)分別如下 _(1)_ int Stack:Pop _ if(top=-1) cout<<" ???!"<<endl;exit(1); / 中止運(yùn)行return _(2)_ elemtop _ _;void Stack:Print() while(!Empty() cout<<_(3) _Pop( ) _ <<' '8. class A
29、int a;public:A() a=0;_(1) A(int aa):a(aa)_ / 定義構(gòu)造函數(shù) , 用參數(shù) aa 初始化數(shù)據(jù)成員 a; main() _(2)_ A *p _; / 定義類 A 的指針對象 p_(3)p=new A(5) _; / 用 p 指向動(dòng)態(tài)對象并初始化為整數(shù) 59. class A char *a;public:_(1)_A( ) a=0;_ _ / 定義無參構(gòu)造函數(shù) , 使 a 的值為空A(char *aa) a=_(2)_new char strlen(aa)+1_;strcpy(a,aa); / 用 aa 所指字符串初始化 a 所指向的動(dòng)態(tài)存儲空間_(3)
30、_A( )delete a_ _ / 定義析構(gòu)函數(shù) , 刪除 a 所指向的動(dòng)態(tài)存儲空間;10. class A int a,b;public:A(int aa=0, int bb=0) :a(aa),b(bb)_(1)_ /分別用 aa 與 bb 對應(yīng)初始化 a 與 b;main() A x(5) , y(x ); / 定義類A的對象x并用5初始化,同時(shí)定義y并用x初始化_(3)_ A *p=x_ ; / 定義 p 指針 , 使之指向?qū)ο?x 11. class A int a,b;public:(1)_A(int aa=O,int bb=O)a=aa;b=bb; _ / 定義構(gòu)造函數(shù),使參數(shù)
31、 aa 與 bb 的默認(rèn)值為 0, /在函數(shù)體中用 aa 初始化 a, 用 bb 初始化 b;main() A *p1, *p2;_(2)_ p1=new A_ ; / 調(diào)用無參構(gòu)造函數(shù)生成由 p1 指向的動(dòng)態(tài)對象_(3) _p2=new A (4,5)_ ; / 調(diào)用帶參構(gòu)造函數(shù)生成由 p2 指向的動(dòng)態(tài)對象 ,/使 a 與 b 成員分別被初始化為 4 與 512、 #include<iostream、 h>#include<stdlib 、 h>class A int *a; int n; int MaxLen;public:A(): a(0), n(0), MaxL
32、en(0) A(int *aa, int nn, int MM) n=nn;MaxLen=MM;if(n>MaxLen) exit(1);(1)a=new int Maxlen_; / 由a指向長度為 MaxLen的動(dòng)態(tài)數(shù)組for(int i=0; i<n; i+) ai=aai;A() delete a;int GetValue(int i) _(2)_return ai;_ / 函數(shù)體返回 ai 的值;void main()int b10=1,2,3,4,5,6,7,8,9,10;A r(b,10,10);int i,s=0;for(i=0; i<10; i+)_(3)s
33、+=r 、 GetValue(i); _ / 把 r 對象的 a 數(shù)據(jù)成員中的每個(gè)/ 元素值依次累加到 s 中 cout<<"s="<<s<<endl;13、#include<iostream 、 h> #include<stdlib、 h>class A int *a; int n; int MaxLen;public:A(): a(0), n(0), MaxLen(0) A(int *aa, int nn, int MM) n=nn;MaxLen=MM; if(n>MaxLen) exit(1); a=n
34、ew intMaxLen;_(1)for(int i=0;i<n;i+) ai=aai_; / 以 i 為循環(huán)變量把 aa 數(shù)組中每個(gè)元素值/ 傳送給 a 數(shù)組的對應(yīng)元素中A();int GetValue(int i) return ai; / 函數(shù)體返回 ai 的值;(2) AA:A( ) delete a;/ 析構(gòu)函數(shù)的類外定義void main()int b10=1,2,3,4,5,6,7,8,9,10;A r(b,10,10);int i,s=0;_(3)for(i=0; i<10; i+) s+=r、 GetValue(i);_ _ ; / 以 i 為循環(huán)變量 , 把 r
35、 對象的 a 數(shù)據(jù)成員中的/ 每個(gè)元素值依次累加到 s 中cout<<"s="<<s<<endl;14、一種類定義如下 class Goodsprivate:char gd_name20; / 商品名稱 int weight; / 商品重量static int totalweight; /同類商品總重量public:Goods (char*str,i nt w)/構(gòu)造函數(shù)strcpy(gd_ name,str);weight=w;totalweight+=weight; Goods ()totalweight -= weight;char
36、* GetN()(1)return gd_n ame ; /返回商品名稱int GetW()return weight;一 static int _ GetTotal_Weight() /(3)_ return totalweight_;三、寫出下列程序的運(yùn)行結(jié)果1、#include<iostream、h>#include<string、h>class CD char* a;int b;public:void In it(char* aa, int bb)a=new charstrle n( aa)+1;strcpy(a,aa);b=bb;char* Geta() re
37、tur n a;int Getb() return b;void Output() cout<<a<<' '<<b<<e ndl; dx;void mai n()CD dy;dx、Init("abcdef',30);dy、 Init("shenyafen",3*dx、Getb()+5);dx、Output();dy、Output();定義靜態(tài)成員函數(shù)返回總重量第1題運(yùn)行結(jié)果:abcdef 30£:henaFen 95Pi'esrs any key to continue2.#
38、include<iostream、h>#include<string、h>class CD char* a;int b;public:void In it(char* aa, int bb) a=new charstrle n( aa)+1;strcpy(a,aa); b=bb;char* Geta() retur n a;int Getb() return b;void Output() cout<<a<<' '<<b<<e ndl; ;void mai n()CD dx,dy;char a20;dx、I
39、nit("abcdef',30); strcpy(a,dx 、Geta();strcat(a,"xyz");dy、 Init(a,dx、Getb()+20);dx、Output();dy、Output();第2題運(yùn)行結(jié)果ftbcdcf 30ahcdefxyz 50Ppess any key to cantinue3、#include<iostream、h>class CE private:int a,b;int getmax() retur n (a>b? a:b);public:int c;void SetValue( int x1,i
40、 ntx2, int x3)a=x1; b=x2; c=x3;int GetMax();int CE:GetMax() int d=getmax();return (d>c? d:c);void mai n()int x=5,y=12,z=8;CE ex, *ep=& ex;ex、SetValue(x,y,z);cout<<ex、GetMax()<<endl;ep->SetValue(x+y,y-z,20); cout<<ep->GetMax()<<e ndl;第3題運(yùn)行結(jié)果12Press an key to conti
41、nue4、#include<iostream、h>class CE private:int a,b;int getm in() retur n (a<b? a:b); public:int c;void SetValue(int x1,int x2, int x3)a=x1; b=x2; c=x3;int GetMi n();int CE:GetMin() int d=getm in(); return (d<c? d:c);void mai n()int x=5,y=12,z=8;CE *ep;ep=new CE;ep->SetValue(x+y,y-z,10)
42、; cout<<ep->GetM in() <<e ndl;CE a=*ep;cout<<a、GetMin()*3+15<<endl;#in clude<iostream class Franction /、h>定義分?jǐn)?shù)類int nu me; / int deno; / public:/ 把*this化簡為最簡分?jǐn)?shù),具體定義在另外文件中實(shí)現(xiàn)void Fran Simp();/返回兩個(gè)分?jǐn)?shù)*this與x之與,具體定義在另外文件中實(shí)現(xiàn)Fran cti on Fran Add(c onst Fran cti on& x);/置
43、分?jǐn)?shù)的分子與分母分別0與1void In itFra ncti on() nu me=0; deno=1;/置分?jǐn)?shù)的分子與分母分別n與dvoid In itFra ncti on (i nt n, int d) nume=n; deno=d;II 輸出一個(gè)分?jǐn)?shù)void FranO utput() cout< <nu me<<7'<<de no <<e ndl;void mai n()Fran ctio n a,b,c,d;a、InitFranction(7,12);b、InitFranction(-3,8);、InitFranction(
44、);c=a、 FranAdd(b);d=c、 FranAdd(a);cout<<"a: " a 、 FranOutput()cout<<"b: " b cout<<"c: " c cout<<"d: " d 第 5 題答案 :a:7/12、FranOutput();、FranOutput();、FranOutput();b:-3/8 c:5/24d:19/246、 #include<iostream、h>class Franction / 定義分?jǐn)?shù)類 in
45、t nume; /定義分子int deno; /定義分母public:/ 把*this化簡為最簡分?jǐn)?shù),具體定義在另外文件中實(shí)現(xiàn)void FranSimp();/ 返回兩個(gè)分?jǐn)?shù) *this 與 x 之與 , 具體定義在另外文件中實(shí)現(xiàn)Franction FranAdd(const Franction& x);/ 置分?jǐn)?shù)的分子與分母分別 0 與 1void InitFranction() nume=0; deno=1;/ 置分?jǐn)?shù)的分子與分母分別n 與 dvoid InitFranction(int n, int d) nume=n; deno=d;/ 輸出一個(gè)分?jǐn)?shù)void FranOutpu
46、t() cout<<nume<<'/'<<deno<<endl; ;void main()Franction a,b,c,d;a、 InitFranction(6,15);b、 InitFranction(3,10);c、 InitFranction();c=a、 FranAdd(b);d=c、 FranAdd(a);第 6 題答案 :cout<<"a: " a、FranOutput();a:6/15cout<<"b: " b、FranOutput();b:3/10c
47、out<<"c: " c、FranOutput();c:7/10cout<<"d: " d、FranOutput();d:11/10#include<iostream、h>#include<string 、 h>class A char*a;public:A(char *s) a=new charstrle n( s)+1;strcpy(a,s);cout<<a<<e ndl;A() delete a; cout<<"Destructor!"<&
48、lt;e ndl;void mai n() A x("xuxiaokai");A *y=new A("weiro ng");delete y;第7題運(yùn)行結(jié)果:KiixiaDkaiDestmctaprDes t u*uctoi*?Pr-ess cey key to continus8、#include<iostream 、h> class A int *a;public:A(int x=0):a(new int(x)A() delete a;in t getA() return *a;void setA(i nt x) *a=x;void ma
49、i n() A x1,x2 (3);A *p=& x2;p->setA(x2、getA()+5);x1 、setA(15+x1、getA(); cout<<x1、getA()<<' '<<x2 第8題運(yùn)行結(jié)果:、getA()<<endl;9、#include<iostream 、h> class A int a;public:A(i nt aa=0): a(aa) cout<<a<<' 'A() cout<<"Xxk"void mai
50、 n() A *p;A x3=1,2,3,y=4;cout<<e ndl;第9題運(yùn)行結(jié)果12 3 4)0 aExkKxkXxkCxkXxkXxkXxkPress any hey 比口 contip=new A3; cout<<e ndl; delete p; cout<<e ndl; 10、#include<iostream 、h>class A int a,b;public:A() a=b=0;第10題運(yùn)行結(jié)果:A(i nt aa, int bb) a=aa; b=bb;int Sum() retur n a+b;int* Mult() 9 29Pi'ess any key to continueint *p=new in t(a*b); return p;void mai n() int *k;A x(2,3), *p;p=new A(4,5);cout<<x 、Sum()<<'
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45220-2025大規(guī)模定制多主體畫像系統(tǒng)參考架構(gòu)
- 臨沭租房合同范本
- 2025年梧州貨運(yùn)從業(yè)資格考題
- 2025年景德鎮(zhèn)貨運(yùn)從業(yè)資格仿真考題
- 醫(yī)院食堂押金合同范本
- 個(gè)人和工廠合作合同范本
- 保健品定購合同范本
- 加工類工程合同范本
- 農(nóng)業(yè)倉庫出租合同范本
- 債務(wù)繼承協(xié)議合同范例
- 國民經(jīng)濟(jì)行業(yè)代碼(2022年版)
- 小學(xué)科學(xué)試卷分析及改進(jìn)措施(通用6篇)
- 脫硫塔內(nèi)部(玻璃鱗片防腐涂層)維修工程施工、組織、設(shè)計(jì)方案(附:質(zhì)量、安全、環(huán)境保護(hù)措施與技術(shù)交底)
- 醫(yī)院入院通知書格式
- 視頻號運(yùn)營方案
- 履帶式起重機(jī)負(fù)荷試驗(yàn)及調(diào)試報(bào)告報(bào)審表
- 發(fā)育生物學(xué)1-9章全
- 中醫(yī)學(xué)課件:第三章 藏象學(xué)說
- 山西省煤炭運(yùn)銷集團(tuán)有限公司王家?guī)X煤礦井筒工程施工組織設(shè)計(jì)
- 三年級數(shù)學(xué)下冊單元計(jì)劃【9個(gè)單元全】
- 鋼筋工程隱蔽檢查驗(yàn)收記錄填寫實(shí)例
評論
0/150
提交評論