c面向?qū)ο蟪绦蛟O(shè)計語言重點難點復(fù)習(xí)題及答案整理.pdf
《c面向?qū)ο蟪绦蛟O(shè)計語言重點難點復(fù)習(xí)題及答案整理.pdf》由會員分享,可在線閱讀,更多相關(guān)《c面向?qū)ο蟪绦蛟O(shè)計語言重點難點復(fù)習(xí)題及答案整理.pdf(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第一部分 類與對象 一、選擇題 1、在下面存儲類中, ( C ) 對象的可見性與生存期不一致。 A. 外部類 B. 自動類 C. 內(nèi)部靜態(tài)類 D. 寄存器類 2、在下面存儲類中,( A )的對象不是局部變量。 A. 外部靜態(tài)類 B. 自動類 C . 函數(shù)形參 D. 寄存器類 3、一個類的成員函數(shù)也可以成為另一個類的友元函數(shù),這時的友元說明( A )。 A. 需加上類域的限定 B. 不需加上類域的限定 C. 類域的限定可加可不加 D. 不需要任何限定 4、一個類的靜態(tài)數(shù)據(jù)成員所表示屬性 ( C )。 A. 是類的或?qū)ο蟮膶傩? B. 只是對象的屬性 C. 只是類的屬性 D. 類和友元的屬性 5、類的靜態(tài)成員的訪問控制( D )。 A. 只允許被定義為 private B. 只允許被定義為 privat e或 protected C. 只允許被定義為 public D. 可允許被定義為 private、protected或 public 6、靜態(tài)成員函數(shù)對類的數(shù)據(jù)成員訪問( B )。 A. 是不允許的 B. 只允許是靜態(tài)數(shù)據(jù)成員 C. 只允許是非靜態(tài)數(shù)據(jù)成員 D. 可允許是靜態(tài)數(shù)據(jù)成員或非靜態(tài)數(shù)據(jù)成員 7、被非靜態(tài)成員函數(shù)訪問的類的數(shù)據(jù)成員( A )。 A. 可以是非靜態(tài)數(shù)據(jù)成員或靜態(tài)數(shù)據(jù)成員 B. 不可能是類的靜態(tài)數(shù)據(jù)成員 C. 只能是類的非靜態(tài)數(shù)據(jù)成員 D. 只能是類的靜態(tài)數(shù)據(jù)成員 8、靜態(tài)數(shù)據(jù)成員的初始化是在( D )中進(jìn)行的。 A. 構(gòu)造函數(shù) B. 任何成員函數(shù) C. 所屬類 D. 全局區(qū) 9、 當(dāng)將一個類A或函數(shù)f()說明為另一個類B的友元后, 類A或函數(shù)f()能夠直接訪問類B的 ( D ) 。 A. 只能是公有成員 B. 只能是保護(hù)成員 C. 只能是除私有成員之外的任何成員 D. 具有任何權(quán)限的成員 10、引入友元的主要目的是為了( C )。 A. 增強(qiáng)數(shù)據(jù)安全性 B. 提高程序的可靠性 C. 提高程序的效率和靈活性 D. 保證類的封裝性 二、判斷題 1、類的靜態(tài)數(shù)據(jù)成員需要在定義每個類的對象時進(jìn)行初始化。 F 2、當(dāng)將一個類 S 定義為另一個類 A的友元類時,類 S 的所有成員函數(shù)都可以直接訪問類 A 的所有成 員。 T 3、靜態(tài)數(shù)據(jù)成員必須在類外定義和初始化。 T 4、靜態(tài)成員函數(shù)可以引用屬于該類的任何函數(shù)成員 F。 5、友元函數(shù)是在類聲明中由關(guān)鍵字 friend 修飾說明的類的成員函數(shù)。 F 6、友元函數(shù)訪問對象中的成員可以不通過對象名 F 三、填空題 1、假定AB類中只包含一個整型數(shù)據(jù)成員 a,并且它是一個引用成員,若利用引用參數(shù) aa 對其 進(jìn)行初始化,則該類的構(gòu)造函數(shù)的定義為 AB(int class Base { public : void get( int i,int j,int k,int l ) { a = i; b = j; x = k; y = l; } void print() { cout << "a = "<< a << \t << "b = " << b << \t << "x = " << x << \t << "y = " << y << endl; } int a, b ; protected : int x, y; }; class A : public Base { public : void get( int i, int j, int k, int l ) { Base obj3; obj3.get( 50, 60, 70, 80 ); obj3.print(); a = i; b = j; x = k; y = l; u = a + b + obj3.a ; v = y - x + obj3.b; } void print() { cout << "a = " << a << \t << "b = " << b << \t << "x = " << x << \t << "y = " << y << endl; cout << "u = " << u << \t << "v = " << v << endl; } private: int u, v ; }; int main() { Base obj1; A obj2; obj1.get( 10, 20, 30, 40 ); obj2.get( 30, 40, 50, 60 ); obj1.print(); obj2.print(); } 【解答】 a = 50 b = 60 x = 70 y = 80 a = 10 b = 20 x = 30 y = 40 a = 30 b = 40 x = 50 y = 60 u = 120 v = 70 2.#include using namespace std; class Base1 { public : Base1( int i ) { cout << "調(diào)用基類Bas e1的構(gòu)造函數(shù):" << i << endl ; } }; class Base2 { public: Base2( int j ) { cout << "調(diào)用基類Bas e2的構(gòu)造函數(shù):" << j << endl ; } }; class A : public Base1, public Base2 { public : A( int a, int b, int c, int d ) : Base2(b), Base1(c), b2(a), b1(d) { cout << "調(diào)用派生類A的構(gòu)造函數(shù):" << a+b+c+d << endl; } private : Base1 b1 ; Base2 b2 ; } ; int main() { A obj( 1, 2, 3, 4 ); } 【解答】 調(diào)用基類 BASE1 的構(gòu)造函數(shù):3 調(diào)用基類BASE2 的構(gòu)造函數(shù):2 調(diào)用基類BASE1 的構(gòu)造函數(shù):4 調(diào)用基類 BASE2 構(gòu)造函數(shù):1 調(diào)用派生類 A 的構(gòu)造函數(shù):10 3. #include using namespace std ; class A { public : A( int i, int j ) { a=i; b=j ;} void Add( int x, int y ) { a+=x; b+=y; } void show() { cout<<"("<感谢您访问我们的网站,您可能还对以下资源感兴趣:
秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看