




已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
一、選擇題:(20小題,每小題1分,共20分)/答案僅供參考1.下面關于對象概念的描述中,(A )是錯誤的。A非曲直對象就是C語言中的結構體變量B 對象代表著正在創(chuàng)建的系統(tǒng)中的一個實體C 對象是一個狀態(tài)和操作(或方法)的封裝體D 對象之間的信息傳遞是通過消息進行的2.下面關于類概念的描述中,(D)是錯誤的。A 類是抽象數(shù)據(jù)類型的實現(xiàn)B 類是具有共同行為的若干對象的統(tǒng)一描述體C 類是創(chuàng)建對象的樣板D 類就是C語言中的結構體類型3.C+對C語言作了很多改進,下列描述中(D)使得C語言發(fā)生了質變,即從面向過程變成對象。A 增加了一些新的運算符B 允許函數(shù)重載,并允許設置默認參數(shù)C 規(guī)定函數(shù)說明必須用原型D 引進了類和對象的概念4.對定義重載函數(shù)的下列要求中,(D)是錯誤的。A 要求參數(shù)的個數(shù)不同B 要求參數(shù)中至少有一個類型不同C 要求參數(shù)個數(shù)相同時,參數(shù)類型不同D要求函數(shù)的返回值不同5.系統(tǒng)在調(diào)用重載函數(shù)時往往根據(jù)一些條件確定哪個重載函數(shù)被調(diào)用,在下列選項中,不能作為依據(jù)的是(D)。A 參數(shù)不同B 參數(shù)的類型C 函數(shù)名稱D函數(shù)的類型6.下列對重載函數(shù)的描述中,(A)是錯誤的。A 重載函數(shù)中不允許使用默認參數(shù)B 重載函數(shù)中編譯是根據(jù)參數(shù)表進行選擇C 不要使用重載函數(shù)來描述毫無相干的函數(shù)D 構造函數(shù)重載將會給初始化帶來多種方式7.有以下類的說明,請指出錯誤的地方(A)。class CSampleint a=2.5; /(A)CSample(); /(B)public:CSample(int val); /(C)CSample(); /(D);8.有關類的說法錯誤的是(D)。A 類是一種用戶自定義的數(shù)據(jù)類型B 只有類中的成員函數(shù)才能存取類中的私有數(shù)據(jù)C 在類中,如果不作特別說明,所指的數(shù)據(jù)均為私有類型D 在類中,如果不作特別說明,所指的成員函數(shù)均為公有類型9.有關類和對象的說明錯誤的是(C)。A 對象是類的一個實例B 任何一個對象只能屬于一個具體的類C 一個類只能有一個對象D 類與對象的關系和數(shù)據(jù)類型和變量的關系相似10.有關構造函數(shù)的說法錯誤的是(D)。A 構造函數(shù)名字和類的名字一樣B 構造函數(shù)在說明類變量時自動執(zhí)行C 構造函數(shù)無任何函數(shù)類型D 構造函數(shù)有且只有一個11.(D)不是構造函數(shù)的特征。A 構造函數(shù)的函數(shù)名與類名相同B 構造函數(shù)可以重載C 構造函數(shù)可以設置默認參數(shù)D 構造函數(shù)必須指定函數(shù)類型說明12.通常的拷貝初始化構造函數(shù)的參數(shù)是(C)。A 某個對象名B 某個對象的成員名C某個對象的引用名D 某個對象的指針名13.有關析構函數(shù)的說法錯誤的是(D)。A析構函數(shù)有且只有一個 B 析構函數(shù)無任何函數(shù)類型C析構函數(shù)和構造函數(shù)一樣可以有形參D 析構函數(shù)的作用是在對象被撤消時收回先前分配的內(nèi)存空間14.(A)是析構函數(shù)的特征。A 一個類中只能定義一個析構函數(shù)B 析構函數(shù)名與類名不同C 析構函數(shù)的定義只能在類體內(nèi)D 析構函數(shù)可以有一個或多個參數(shù)15.關于成員函數(shù)特征的下述描述中,(A)是錯誤的。A 成員函數(shù)一定是內(nèi)聯(lián)函數(shù)B 成員函數(shù)可以重載C 成員函數(shù)可以設置參數(shù)的默認值D 成員函數(shù)可以是靜態(tài)的16.下述靜態(tài)數(shù)據(jù)成員的特性中,(D)是錯誤的。A 說明靜態(tài)數(shù)據(jù)成員時前邊要加修飾符staticB 靜態(tài)數(shù)據(jù)成員要在類體外進行初始化C 引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加“類名”和作用域運算符D 靜態(tài)數(shù)據(jù)成員不是所有對象所共用的17.已知p是一個指向類Sample數(shù)據(jù)成員m的指針,s是類Sample的一個對象。如果要給m賦值為5,(C)是正確的。A s.p=5B s-p=5C s.*p=5D *s.p=518.已知一個類Sample,(C)是定義指向類Sample成員函數(shù)的指針,假設類有3個公有成員:void f1(int), void f2(int) 和int a。A Sample *pB int Sample:*pc=&Sample:aC void(Sample:*pa)(int)D Sample *a1019.已知f1(int)是類A的公有成員函數(shù),p是指向成員函數(shù)f1的指針,采用賦值,()是正確的。A p=f1B p=A:f1C p=A:f1()D p=f1()20.已知類Sample中一個成員函數(shù)說明如下:void Set(Sample &a);其中,Sample&a的含義是(C)。A 指向類Sample的指針為aB 將a的地址值賦給變量SetC a是類Sample的對象引用,用來作函數(shù)Set( )的形參D 變量Sample與a按位相與作為函數(shù)Set( )的參數(shù)21.(B)是給對象取一個別名,它引入了對象的同義詞。A 指針B 引用C 枚舉D 結構22.下列表示引用的方法中,(A)是正確的。已知:int m=10;A int &x=m;B int &y=10;C int &z;D float &t=&m;23.下列引用的定義中,(B)是錯誤的。A int i; int &j=i;B int I; int &j; j=i;C float i; float &j=i;D char d; char &k=d;24.若有int i;int &j=i;i=5;j=i+1;則i=( 6 ),j=( 6 )。25.一個類的友元函數(shù)能夠訪問該類的(D)。A 私有成員B 保護成員C 公有成員D 所有成員26.下列的各類函數(shù)中,(C)不是類的成員函數(shù)。A 構造函數(shù)B 析構函數(shù)C 友元函數(shù)D 拷貝初始化構造函數(shù)27.下面關于友元的描述中,錯誤的是(D)。A 友元函數(shù)可以訪問該類的私有數(shù)據(jù)成員B 一個類的友元類中的成員函數(shù)都是這個類的友元函數(shù)C 友元可以提高程序的運行效率D 類與類之間的友元關系可以繼承28.下列運算符中,(A)運算符在C+中不能重載。A ?:B +C -D obj2被C+編譯器解釋為(A)。A operator(obj1,obj2)B (obj1,obj2)C obj2.operator(obj1)D obj1.operator(obj2)32.類模板的使用實際上是先將類模板實例化為(D),再實例化成一個具體的(B)。A 類B 對象C 函數(shù)D 模板類33.一個(C)允許用戶為類定義一種模式,使得類中的某些數(shù)據(jù)成員、某些成員函數(shù)的參數(shù)和返回值能取多種數(shù)據(jù)類型。A 函數(shù)模板B 模板函數(shù)C 類模板D 模板類34.類模板的模板參數(shù)(D)。A 只可作為數(shù)據(jù)成員的類型B 只可作為成員函數(shù)的返回類型C 只可作為成員函數(shù)的參數(shù)類型D 以上三者皆可35.模板是實現(xiàn)類屬機制的一種工具,它的功能非常強大,它是元約束類屬機制和約束類屬機制的集合,它既允許用戶構造類屬函數(shù),即(A);也允許用戶構造類屬類,即(C)。A 模板函數(shù)B 函數(shù)模板C 模板類D 類模板36.以下對模板的說明,正確的是(C)。A templateB templateC templateD template37.類模板template class X ,其中,友元函數(shù)f成為從該類模板實例化的每個模板類的友元,則其說明應為(A)。A friend void f();B friend void f(X&);C friend void A:f();D friend void C:f(X&)38.類模板template class X ,其中,友元函數(shù)f對特定類型T(如int),使函數(shù)f(X&)成為X模板類的友元,則其說明應為(B)。A friend void f();B friend void f(X&);C friend void A:f();D friend void C:f(X&)39.C+中的類有兩種用法:一種是類的實例化,即生成類的對象,并參與系統(tǒng)的運行;另一種是通過(B)派生出新的類。A 復用B 繼承C單繼承 D 多繼承40.繼承具有(B),即當基類本身也是某一個類的派生類時,底層的派生類也會自動繼承間接基類的成員。A 規(guī)律性B 傳遞性C 重復性D 多樣性41.若類A和類B的定義如下:class aint i,j;public:void get();/.;class B:Aint k;public:void make();/.;void B:make()k=i*j;則上述定義中,(D)是非法的表達式。A void get();B int k;C void make();D k=i*j;42.在多繼承中,公有派生和私有派生對于基類成員在派生類中的可訪問性與單繼承的規(guī)則(A)。A 完全相同B 完全不同C 部分相同,部分不同D 以上都不對43.派生可以分為(A)和(C)。由(C)得到的派生類,其基類的所有公有成員都只能成為它的私有成員,這些私有成員只能被派生類的成員函數(shù)訪問,而通過(B)無權訪問它;(A)的意義是基類中所有公有成員在派生類中也都是公有的。A 公有派生B 派生類的對象C 私有派生D派生類的構造函數(shù)44.基類的(B)不能為派生類的成員訪問,基類的(A)在派生類中的性質和繼承的性質一樣,而基類的(D)在私有繼承時在派生類中成為私有成員,在公有和保護繼承時在派生類中仍為保護成員。A 公有成員B 私有成員C 私有成員函數(shù)D 保護成員45.(A)提供了類對外部的界面,(B)只能被類的成員訪問,而(D)不允許外界訪問,但允許派生類的成員訪問,這樣既有一定的隱藏能力,又提供了開放的界面。A 公有成員B 私有成員C 私有成員函數(shù)D保護成員46.下列對派生類的描述中,(D)是錯誤的。A 一個派生類可以作另一個派生類的基類B 派生類至少有一個基類C 派生類的成員除了它自己的成員外,還包含了它的基類的成員D 派生類中繼承的基類成員的訪問權限到派生類保持不變47.派生類的對象對它的基類成員中(A)是可以訪問的。A 公有繼承的公有成員B 公有繼承的私有成員C 公有繼承的保護成員D 私有繼承的公有成員48.對基類和派生類的關系描述中,(B)是錯誤的。A 派生類是基類的具體化B 派生類是基類的子集C 派生類是基類定義的延續(xù)D 派生類是基類的組合49.派生類的構造函數(shù)的成員初始化列表中,不能包含(C)。A 基類的構造函數(shù)B 派生類中子對象的初始化C 基類的子對象初始化D 派生類中一般數(shù)據(jù)成員的初始化50.關于多繼承二義性的描述中,(C)是錯誤的。A 一個派生類的兩個基類中都有某個同名成員,在派生類中對這個成員的訪問可能出現(xiàn)二義性B 解決二義性的最常用的方法是對成員名的限定C 基類和派生類中出現(xiàn)同名函數(shù),也存在二義性問題D 一個派生類是從兩個基類派生來的,而這兩個基類又有一個共同的基類,對該基類成員進行訪問時,也可能出現(xiàn)二義性51.設置虛基類的目的是(B)。A 簡化程序B 消除二義性C 提高運行效率D 減少目標代碼52.對于派生類的構造函數(shù),在定義對象時構造函數(shù)的執(zhí)行順序:先執(zhí)行(A),再執(zhí)行(B),后執(zhí)行(C)。A 基類的構造函數(shù)B 成員對象的構造函數(shù)C 派生類本身的構造函數(shù)53.有4個類:data為基類,它含有一個需傳遞一個參數(shù)的構造函數(shù),用它來為其私有成員x賦值,并顯示一句話;類a中含有一個data類的成員對象;類b為類a的派生類,并在其中也含有一個data類的成員對象;類c是類b的派生類。類的構造如下:請?zhí)顚懗稣_的輸出結果。#includeint x;public:data(int x)data:x=x; coutclass dataendl;class adata d1;public:a(int x):d1(x) coutclass aendl;class b:public adata d2;public:b(int x):a(x),d2(x) coutclass bendl;class c: public bpublic:c(int x):b(x) coutclass cendl;void main()c obj(5);運行結果為:(A)(B)(A)(C)(D)A class dataB class aC class bD class c54.描述一個學校的情況,其對象是教師和學生。因為教師和學生之間有很多相同的信息,如姓名、年齡等,所以可抽象出一個基類person,學生類student和教師類teacher作為person類的派生類,每一個類均有構造函數(shù)。請?zhí)顚懗稣_的輸出結果。#includeclass personchar *name;int age;char *add;person() coutperson class constructorendl;person() coutperson class destructorendl; ;class student:public personchar *department;int level;public:student()coutstudent class constructorendl;student()coutstudent class destructorendl; ;class teacher:public personchar *major;float salary;public:teacher()coutteacher class constructorendl;teacher()coutteacher class destructorstr;當輸入Object Windows Programming!所得的結果是str=( B )。A Object Windows Programming!B ObjectC Object WindowsD Object Windows Programming69.進行文件操作時需要包含(B)文件。A iostream.hB fstream.hC stdio.hD stdlib.h70.使用如setw()的操作符對數(shù)據(jù)進行格式輸出時,包含(C)文件。A iostream.hB fstream.hC iomanip.hD stdlib.h71.已知int a, *pa=&a; 輸出指針pa十進制的地址值的方法是(D)。A coutpa;B cout*pa;C cout&pa;D coutlong(pa);72.下列輸出字符A的方法中,(A )是錯誤的。A coutput(A);B coutA;C cout.put(A);D char A=A; coutA;73.關于getline()函數(shù)的下列描述中,(D)是錯誤的。A 該函數(shù)是用來從鍵盤上讀取字符串的B 該函數(shù)讀取的字符串長度是受限制的C 該函數(shù)讀取字符串時,遇到終止符時便停止D 該函數(shù)中所使用的默認終止符是換行符74.關于read()函數(shù)的下列描述中,(D)是對的。A 該函數(shù)是用來從鍵盤輸入中獲取字符串B 該函數(shù)所獲取的字符的多少是不受限制的C 該函數(shù)只能用于文本文件的操作中D 該函數(shù)只能按規(guī)定讀取所指定的字符數(shù)75.在ios中提供控制格式的標志位中,(A)是轉換為十六進制形式的標志位。A hexB octC decD left76.控制格式I/O的操作中,(D)是設置域寬的。A wsB octC setfill()D setw()77.磁盤文件操作中,打開磁盤文件的訪問模式常量時,(C)是以追加方式打開文件的。A inB outC appD ate78.當使用ifstream流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式是(A)。A ios:inB ios:outC ios:truncD ios:binary79.下列函數(shù)中,(D)是對文件進行寫操作的。A get()B read()C seekg()D put()80.C+中用3個保留字實現(xiàn)異常處理,除了try和catch外,還有(C)。A ifB classC throwD return81.catch()一般放在其他catch子句的后面,該子句(B)。A 拋擲異常B 捕獲所有類型的異常C 檢測并處理異常D 有語法錯誤81下列關于動態(tài)聯(lián)編的描述中,錯誤的是(D)。A動態(tài)聯(lián)編是以虛函數(shù)為基礎;B動態(tài)聯(lián)編是運行時確定所調(diào)用的函數(shù)代碼的;C動態(tài)聯(lián)編調(diào)用函數(shù)操作是指用對象的指針或對象引用;D動態(tài)聯(lián)編是在編譯時確定操作函數(shù)的。82運行時的多態(tài)性可以通過使用(A )獲得。A虛函數(shù)和指針;B重載函數(shù)和析構函數(shù);C虛函數(shù)和對象;D虛函數(shù)和引用。83下列描述中,(D )是抽象類的特征。A可以說明虛函數(shù);B可以進行構造函數(shù)重載;C可以定義友元函數(shù);D不能說明其對象。84下列表達方式正確的是( D )。Aclass P Bclass Ppublic:public:int x=15;int x;void show()coutx; void show()coutx;Cclass P D. class Pint f; public:;int a;f=25;void Seta (int x) a=x;85關于靜態(tài)成員的描述中,( B )是錯誤的。A靜態(tài)成員可分為靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù);B靜態(tài)數(shù)據(jù)成員定義后必須在類體內(nèi)進行初始化;C靜態(tài)數(shù)據(jù)成員初始化不使用其構造函數(shù);D靜態(tài)數(shù)據(jù)成員函數(shù)中不能直接引用非靜態(tài)成員。86為了使類中的某個成員不能被類的對象通過成員操作符訪問,則不能把該成員的訪問權限定義為(A )。A.publicB. protectedC.privateD. static87下列對派生類的描述中,( D )是錯誤的。A一個派生類可以作為另一個派生類的基類;B派生類至少有一個基類;C派生類的成員除了它自己的成員外,還包含了繼承下來的基類成員;D派生類中繼承的基類成員的訪問權限到派生類保持不變。88下列對基類和派生類關系的描述中,錯誤的是( B )。A.派生類是基類的具體化B.派生類是基類的子集C.派生類是基類定義的延續(xù)D.派生類是基類的組合89下列對繼承的描述中,錯誤的是( D )。A. 析構函數(shù)不能被繼承B. 派生類也是基類的組合C. 派生類的成員除了它自己的成員外,還包含了它的基類的成員D. 派生類中繼承的基類成員的訪問權限到派生類保持不變90下列運算符中,(A )運算符在C+中不能重載。A.?:B.C.newD.&91以下(D )成員函數(shù)表示虛函數(shù)。Avirtual int vf(int); Bvoid vf(int)=0;Cvirtual void vf()=0; Dvirtual void vf(int) ;92下面描述中,正確的是( A )。Avirtual可以用來聲明虛函數(shù);B含有純虛函數(shù)的類是不可以用來創(chuàng)建對象的,因為它是虛基類;C即使基類的構造函數(shù)沒有參數(shù),派生類也必須建立構造函數(shù);D靜態(tài)數(shù)據(jù)成員可以通過成員初始化列表來初始化。93(C )的功能是類中數(shù)據(jù)成員進行初始化。A析構函數(shù)B數(shù)據(jù)成員C構造函數(shù)D靜態(tài)成員函數(shù)94拷貝構造函數(shù)具有的下列特點中,( D )是錯誤的。A如果一個類中沒有定義拷貝構造函數(shù)時,系統(tǒng)將自動生成一個默認的B拷貝構造函數(shù)只有一個參數(shù),并且是該類對象的引用C拷貝構造函數(shù)是一種成員函數(shù)D拷貝構造函數(shù)的名字不能用類名95類的析構函數(shù)的作用是( D )。A.一般成員函數(shù)B.類的初始化C.對象初始化D.刪除對象96下面對于友元函數(shù)描述正確的是( C )。A.友元函數(shù)的實現(xiàn)必須在類的內(nèi)部定義B.友元函數(shù)是類的成員C.友元函數(shù)破壞了類的封裝性和隱藏性D.友元函數(shù)不能訪問類的私有成員97對于類中定義的成員,其默認的訪問權限為(C )。A.publicB. protectedC.privateD. static98下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是(A )。A.靜態(tài)數(shù)據(jù)成員是類的所有對象共享的數(shù)據(jù)B.類的每一個對象都有自己的靜態(tài)數(shù)據(jù)成員C.類的不同對象有不同的靜態(tài)數(shù)據(jù)成員值D.靜態(tài)數(shù)據(jù)成員不能通過類的對象調(diào)用99派生類的對象對它的哪一類基類成員是可以訪問的?(A)A公有繼承的基類的公有成員 B. 公有繼承的基類的保護成員C. 公有繼承的基類的私有成員D. 保護繼承的基類的公有成員100關于多繼承二義性的描述,(D)是錯誤的。A派生類的多個基類中存在同名成員時,派生類對這個成員訪問可能出現(xiàn)二義性B一個派生類是從具有共同的間接基類的兩個基類派生來的,派生類對該公共基類的訪問可能出現(xiàn)二義性C解決二義性最常用的方法是作用域運算符對成員進行限定D派生類和它的基類中出現(xiàn)同名函數(shù)時,將可能出現(xiàn)二義性101設有基類定義:class Cbaseprivate: int a;protected: int b;public: int c;派生類采用何種繼承方式可以使成員變量b成為自己的私有成員( )A. 私有繼承B.保護繼承C. 公有繼承D.私有、保護、公有均可102繼承具有( B ),即當基類本身也是某一個類派生類時,底層的派生類也會自動繼承間接基類的成員。A.規(guī)律性B.傳遞性C.重復性D.多樣性103派生類的對象對它的基類成員中( A )是可以訪問的。A.公有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護成員D.私有繼承的公有成員104下列說法錯誤的是( B )。A.公有繼承的基類中的public成員在派生類中仍是public的B.公有繼承的基類中的private成員在派生類中仍是private的C.私有繼承的基類中的public成員在派生類中變成private的D.保護繼承的基類中的public成員在派生類中變成protected的105下面敘述錯誤的是(A )。A.基類的protected成員在派生類中仍然是protectedB.基類的protected成員在public派生類中仍然是protected的C.基類的protected成員在private派生類中是private的D.基類的protected成員不能被派生類的對象訪問106下列虛基類的聲明中,正確的是( D )。A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B: virtual public A107在下面的表達式中,不表示虛繼承的是( C )。A.virtual publicB.public virtualC.publicD. virtual108下面4個選項中,(A )是用來聲明虛函數(shù)的。Avirtual BpublicCusing Dfalse109關于純虛函數(shù)和抽象類的描述中,錯誤的是(B )。A純虛函數(shù)是一種特殊的虛函數(shù),它沒有具體的實現(xiàn)B抽象類是指具體純虛函數(shù)的類C一個基類中說明有純虛函數(shù),該基類派生類一定不再是抽象類D抽象類只能作為基類來使用,其純虛函數(shù)的實現(xiàn)由派生類給出110下面( B )項是對構造函數(shù)和析構函數(shù)的正確定義。Avoid X:X(), void X:X()BX:X(參數(shù)), X:X()CX:X(參數(shù)), X:X(參數(shù))Dvoid X:X(參數(shù)), void X:X(參數(shù))111.關于友元的描述中,( A )是錯誤的。A友元函數(shù)是成員函數(shù),它被說明在類體內(nèi)B友元函數(shù)可直接訪問類中的私有成員C友元函數(shù)破壞封裝性,使用時盡量少用D友元類中的所有成員函數(shù)都是友元函數(shù)112.類的析構函數(shù)的作用是( D )。A.一般成員函數(shù)B.類的初始化C.對象初始化D.刪除對象113.下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是(C )。A.靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進行初始化B.靜態(tài)數(shù)據(jù)成員不可以在類體內(nèi)進行初始化C.靜態(tài)數(shù)據(jù)成員不能受private控制符的作用D.靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用114.下列對派生類的描述中,(D)是錯誤的。A一個派生類可以作為另一個派生類的基類B派生類至少有一個基類C派生類的成員除了它自己的成員外,還包含了它的基類成員D派生類中繼承的基類成員的訪問權限到派生類保持不變115.C+類體系中,能被派生類繼承的是()。A構造函數(shù)B虛函數(shù)C析構函數(shù)D友元函數(shù)116C+中的類有兩種用法:一種是類的實例化,即生成類對象,并參與系統(tǒng)的運行;另一種是通過(B)派生了新的類。A.復用B.繼承C.封裝D.引用117繼承具有( B ),即當基類本身也是某一個類派生類時,底層的派生類也會自動繼承間接基類的成員。A.規(guī)律性B.傳遞性C.重復性D.多樣性118下列對繼承的描述中,錯誤的是( D )。A.析構函數(shù)不能被繼承B.派生類也是基類的組合C.派生類的成員除了它自己的成員外,還包含了它的基類的成員D.派生類中繼承的基類成員的訪問權限到派生類保持不變119下列說法錯誤的是( B )。A.公有繼承的基類中的public成員在派生類中仍是public的B.公有繼承的基類中的private成員在派生類中仍是private的C.私有繼承的基類中的public成員在派生類中變成private的D.保護繼承的基類中的public成員在派生類中變成protected的二、改錯題:1分析找出以下程序中的錯誤,說明錯誤原因,并給出修改方案使之能正確運行。#includeclass oneint a1,a2;public:one(int x1=0, x2=0);void main()one data(2,3);coutdata.a1endl;coutdata.a2endl;2分析以下程序的錯誤原因,給出修改方案使之能正確運行。#include class Amplifierfloat invol,outvol;public:Amplifier(float vin,float vout) invol=vin;outvol=vout;float gain();Amplifier:float gain() return outvol/invol; void main()Amplifier amp(5.0,10.0);coutgain()endl;3指出并改正下面程序中的錯誤。#includeclass Pointint x,y;public:Point(int a=0,int b=0) x=a; y=b;void move(int xoffset,int yoffset) x+=xoffset; y+=yoffset;int getx() return x;int gety() return y;class Rectangle:protected Pointint length,width;public:Rectangle(int x,int y,int l,int w):Point(x,y) length=l;width=w;int getlength()return length;int getwidth()return width;void main()Rectangle r(0,0,8,4);r.move(23,56);coutr.getx(),r.gety(),r.getlength(),r.getwidth()endl;4指出并改正下面程序中的錯誤。#includeclass Apublic:int x;A(int a=0) x=a;void display() coutA.x=xendl; ;class Bpublic:int x;B(int a=0) x=a;void display() coutB.x=xendl; ;class C:public A,public Bint y;public:C(int a,int b,int c) :A(a),B(b) y=c; int gety() return y; ;void main()C myc(1,2,3);myc.x=10;myc.display();三、運行結果題:(5小題,每小題8分,共40分)請仔細分析下面的程序段,并寫出運行結果(要求寫出分析過程、原因)1#include class Apublic:A() coutAs cons.endl; virtual A() coutAs des.endl; virtual void f() coutAs f().endl; void g() f(); ;class B : public Apublic:B() f(); coutBs cons.endl; B() coutBs des.endl; ;class C : public Bpublic:C() coutCs cons.endl; C() coutCs des.endl; void f() coutCs f().g();delete a;2#include #include #include #include class Salespublic:void Init(char n) strcpy(name,n); int& operator(int sub);char* GetName() return name; private:char name25;int divisionTotals5;int& Sales:operator (int sub)if(sub4)cerrBad subscript! sub is not allowed.endl;abort();return divisionTotalssub;void main()int totalSales=0,avgSales;Sales company;company.Init(Swiss Cheese);company0=123;company1=456;company2=789;company3=234;company4=567;coutHere are the sales for company.GetName()s divisions:endl;for(int i=0;i5;i+)coutcompanyit;for(i=0;i5;i+)totalSales+=companyi;coutendlThe total sales are totalSalesendl;avgSales=totalSales/5;coutThe average sales are avgSalesendl;3#include class Baseint i;public:Base(int n)cout Constucting base class endl;i=n;Base()cout Destructing base class endl;void showi()cout i ,;int Geti()return i;class Derived:public Baseint j;Base aa;public:Derived(int n,int m,int p):Base(m),aa(p)cout Constructing derived class endl;j=n;Derived()cout Destructing derived classendl;void show()Base:showi();cout j, aa.Geti() endl;void main()Derived obj(8,13,24);obj.show();4#includeclass Apublic:A(char *s) coutsendl; A() ;class B:virtual public Apublic:B(char *s1, char *s2):A(s1) couts2endl; ;class C: virtual public Apublic:C(char*s1,char *s2):A(s1)couts2endl;class D:public B,public Cpublic:D(char *s1, char *s2,char *s3, char *s4):B(s1,s2),C(s1,s3),A(s1)couts4endl;void main()D *p=new D(class A,class B,class C,class D);delete p;5#include class pointint x,y;pub
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中央債務管理制度
- 中學各種管理制度
- 中學校產(chǎn)管理制度
- 中學科組管理制度
- 中建商務管理制度
- 中旅財務管理制度
- 中餐味部管理制度
- 豐田庫存管理制度
- 臨床保密管理制度
- 臨時活動管理制度
- 2024年新疆中考數(shù)學真題試卷及答案
- 2024深圳職業(yè)技術學院教師招聘考試筆試試題
- 美術家眼中的自己自畫像中的自我表現(xiàn)教案
- 個人裝修安全免責的協(xié)議書范本
- 化學與人類社會智慧樹知到期末考試答案章節(jié)答案2024年內(nèi)江師范學院
- GJB9001C-2017標準內(nèi)部宣貫培訓
- 專業(yè)市場物業(yè)多種經(jīng)營管理規(guī)定
- 網(wǎng)球場轉讓協(xié)議書
- 輔導員素質能力大賽基礎知識試題題庫
- 博士研究生入學考試題《作物生理學》
- 培訓課件 -華為鐵三角工作法完全解密
評論
0/150
提交評論