<strike id="p1drw"></strike>

<rp id="p1drw"><object id="p1drw"><blockquote id="p1drw"></blockquote></object></rp>
<span id="p1drw"><p id="p1drw"><tt id="p1drw"></tt></p></span>

    1. 當前所在位置: 學問吧 > 學歷題庫 > 正文

      C++程序設計??继羁疹}及答案

      2022-11-27 15:33:30 學問吧 Word文檔下載

      1. C++的流庫預定義了4個流,它們是cin、cout、clog和___。

      答案:(P193)cerr

      [解析]cin、cout、clog和cerr分別用于標準輸入、輸出、標準錯誤流(緩沖)和標準錯誤流(非緩沖)。

      1. 每個對象都是所屬類的一個___。

      答案:(P69)實例

      [解析]類是對象的抽象,對象是類的一個實例。

      1. 在已經定義了整型指針ip后,為了得到一個包括10個整數的數組并由ip所指向,應使用語句___。

      答案:(P78)int *ip=new int[10];

      [解析]new用來動態開辟空間。常用來產生動態數組及對象構造函數。

      1. 函數模板中緊隨template之后尖括號內的類型參數都要冠以保留字___。

      答案:(P145)class

      [解析]類模板的使用。template <class T>,也可以引入多參數的如:template <class

      T1,class T2,...,class Tn>

      1. 定義類的動態對象數組時,系統只能夠自動調用該類的___構造函數對其進行初始化。

      答案:(P80)無參

      [解析]使用new創建對象數組,調用無參構造函數。

      1. 表達式cout<<end1 還可表示為___。

      答案:‘\n’

      [解析]endl與字符常量‘\n’等價。

      1. 在C++中,訪問一個指針所指向的對象的成員所用的指向運算符是___。

      答案:->

      [解析]指針使用成員有兩種方法:“->”指向運算符和“.”成員訪問運算符。

      1. 假如一個類的名稱為MyClass,使用這個類的一個對象初始化該類的另一個對象時,可以調

      用___構造函數來完成此功能。

      答案:(P80)復制或拷貝

      復制或拷貝構造函數就是用對象初始化新的對象。

      1. 對賦值運算符進行重載時,應聲明為___函數。

      答案:(P183)類成員

      [解析]運算符重載的方法有友元或者成員函數兩種途徑,但是賦值運算符只能使用成員函數的

      方法來實現。

      1. 如果要把A類成員函數f()且返回值為void聲明為類B的友元函數,則應在類B的定義中加

      入的語句___。

      答案:(P109)friend void A::f();

      [解析]成員函數作為另一個類的友元函數,格式為:friend 返回類型 類名::函數(形參)。

      1. 下列程序段的輸出結果是___。

      for(i=0,j=10,k=0;i<=j;i++,j-=3,k=i+j);cout<<k;

      答案:4

      [解析]for循環結構,三個表達式的作用,初始化、循環判斷條件和循環變量變化。循環執行了

      三次,k的作用是計算i、j的和。

      1. String 類的___方法返回查找到的字符串在主串的位置。

      答案:(P40)find

      [解析]string類對象方法的find,查不到字符串,則返回-1。

      1. int n=0;

      while(n=1)n++;

      while循環執行次數是___。

      答案:無限次

      [解析]=是賦值運算符,不是關系運算符,且不等0,所以死循環。

      1. 控制格式輸入輸出的操作中,函數___是用來設置填充字符。要求給出函數名和參數類型

      。

      答案:(P195)setfill(char)

      [解析]格式控制方法的使用,如setw,setfill等等。

      1. C++語言支持的兩種多態性分別是編譯時的多態性和___的多態性。

      答案:(P167)運行時

      [解析]多態性包括靜態的(編譯時)多態性和動態的(運行時)多態性。

      1. 設函數sum是由函數模板實現的,并且sum(3,6)和sum,8)都是正確的函數調用,則函

      數模板具有___個類型參數。

      答案:(P61)2

      1. 執行下列代碼

      string str("HelloC++");

      cout<<(5,3);

      程序的輸出結果是___。

      答案:(P42)C++

      [解析]substr取子字符串,第1個參數表示要截取子串在字符串中的位置,第2個表示取多少個

      字符。

      1. 在面向對象的程序設計中,將一組對象的共同特性抽象出來形成___。

      答案:(P38)類

      [解析]類是相似特征的對象的抽象,對象是類的一個實例。

      1. 定義類動態對象數組時,元素只能靠自動調用該類的___來進行初始化。

      答案:(P77)無參構造函數

      [解析]使用new 創建動態對象數組,不能有參數,所以只能調用無參的構造函數,初始化對象

      。

      1. 已知有20個元素int類型向量V1,若用V1初始化為V2向量,語句是___。

      答案:(P151)ector <int>V2(V1);

      [解析]采用向量初始化另一個向量的形式:vector <type> name1(name);__

      1. 假設int a=1,b=2;則表達式(++a/b)*b--的值為___。

      答案:2

      [解析]前綴++或――表示先使變量值變化,再使用,這和后綴恰恰相反。但是編譯

      cout<<(++a/b)*b--時,先++a/b值為1,后1*b--,先取b=2,結果為2,再讓b=1。

      1. 抽象類中至少要有一個___函數。

      答案:(P173)純虛

      [解析]至少有一個純虛函數的類就稱為抽象類,即不能實例化。

      1. 一個抽象類的派生類可以實例化的必要條件是實現了所有的___。

      答案:(P173)純虛函數的定義

      [解析]抽象類只因有純虛函數,所以不能被實例化,所以派生類要實例化必須對純虛函數進行

      定義。

      1. 下面程序的輸出結果為___。

      #include <>

      void main()

      {int num=2,i=6;

      do

      {i--;

      num++;

      }while(--i);

      cout<<num<<endl;

      }

      答案:5

      [解析]do-while循環,前綴先使i減少1后判斷是否為零,不為零時再次執行循環,為零退出

      循環。循環值執行3次就退出,所以結果為5。

      1. 靜態成員函數、友元函數、構造函數和析構函數中,不屬于成員函數的是___。

      答案:(P109)友元函數

      [解析]友元函數不是類成員,但可以訪問類成員。類的封裝性保證了數據的安全,但引入友元

      ,雖然訪問類是方便了,但確實破壞類訪問的安全性。

      1. 在用C++進行程序設計時,最好用___代替malloc。

      答案:(P10)new

      [解析]new與delete是C++語言特有的運算符,用于動態分配和釋放內存。new用于為各種數據

      類型分配內存,并把分配到的內存首地址賦給相應的指針。new的功能類似于malloc()函數。

      使用new的格式為:

      <指針變量>new<數據類型>;

      其中,<數據類型>可以是基本數據類型,也可以是由基本類型派生出來的類型;<指針變量>取得

      分配到的內存首地址。new有3種使用形式。

      (1)給單個對象申請分配內存

      int *ip;ip=new int;由const修飾的對象稱為___。

      答案:(P113)常對象

      [解析]使用const關鍵字說明的成員函數稱為常成員函數,使用const關鍵字說明的對象稱為常

      對象。

      常成員函數的說明格式如下:<返回類型說明符><成員函數名>(<參數表>)const;

      常成員函數不更新對象的數據成員,也不能調用該類中沒有用const修飾的成員函數。常對象

      只能調用它的常成員函數,而不能調用其他成員函數。const關鍵字可以用于參與重載函數的區

      分。

      1. 在C++程序設計中,建立繼承關系倒掛的樹應使用___繼承。

      答案:(P138)單

      [解析]一個基類可以派生多個子類,一個子類可以再派生出多個子類,這樣就形成了一個倒立

      的樹。

      1. 基類的公有成員在派生類中的訪問權限由___決定。

      答案:(P132)訪問控制方式或繼承方式

      1. 不同對象可以調用相同名稱的函數,但執行完全不同行為的現象稱為___。

      答案:(P167)多態性

      [解析]多態性的概念。虛函數是實現多態的基礎,運行過程中的多態需要同時滿足3個條件

      :(1)類之間應滿足子類型關系。(2)必須要有聲明的虛函數。(3)調用虛函數操作的是指向對象

      的指針或者對象引用;或者是由成員函數調用虛函數(如果是在構造函數或析構函數中調用虛函

      數,則采用靜態聯編)。

      1. this指針始終指向調用成員函數的___。

      答案:對象

      this指針是隱藏的指針,它指向調用函數的對象。

      1. 預處理命令以___符號開頭。

      答案:(P183)operater

      [解析]文件包含、預處理和編譯都是以#開頭。

      1. 類模板用來表達具有___的模板類對象集。

      答案:(P145)相同處理方法

      [解析]模板特點是不同的數據具有相同的處理方法的抽象。

      1. C++程序的源文件擴展名為___。

      答案:(P21)cpp

      [解析]源程序*.cpp,目標文件為*.obj,可執行程序*.exe。

      1. 在#include命令中所包含的頭文件,可以是系統定義的頭文件,也可以是___的頭文件。

      答案:(P7)自定義

      [解析]#include裝入文件有兩種方式<>和“”,一是系統的,一是自定義文件。

      1. vector類中向向量尾部插入一個對象的方法是___。

      答案:(P157)push_back

      1. C++語言中如果調用函數時,需要改變實參或者返回多個值,應該采取___方式。

      答案:(P51)傳地址或引用

      [解析]傳地址即指針,在函數中通過指針修改它指向的變量的值時,實參也就變化了。使用引

      用,直接修改變量的別名即引用的值,該變量也就隨著變化。

      1. 語句序列

      ifstream infile;

      (“”);

      的功能可用一個語句實現,這個語句是___。

      答案:(P199)ifstream infile(“”);

      [解析]void ifstream::open(const char *fname,int mode=ios::in,int

      access=filebuf::openprot);

      ifstream::ifstream(const char *fname,int mode=ios::in,int access=filebuf::openprot);

      其中,第一個參數是用來傳遞文件名的;第二個參數mode的值決定文件將如何被打開;第三個參

      數access的值決定文件的訪問方式,一般取缺省值filebuf::openprot,表示是普通文件。

      mode的取值如下:(1)ios::in:打開一個文件進行讀操作,而且該文件必須已經存在

      ;(2)ios::nocreate:不建立新的文件。當文件不存在時,導致open()失敗

      ;(3)ios::noreplace:不修改原來已經存在的文件。若文件已經存在,導致open()失敗

      ;(4)ios::binary:文件以二進制方式打開,缺省時為文本文件。

      1. 如果要把類B的成員函數void fun()說明為類A的友元函數,則應在類A中加入語句___。

      答案:(P111)friend void B::fun();

      [解析]聲明成員函數作為另外一個類的友元函數時,使用類作用域運算符::。

      1. 在編譯指令中,宏定義使用___指令。

      答案:(P6、97)#define

      [解析]靜態成員是所有對象共享的特征,也就是類的特征。__

      1. 單目運算符作為類成員函數重載時,形參個數為___個。

      答案:(P189)0

      [解析]單目運算符使用成員函數重載可以不用形參,雙目運算符使用一個參數。

      1. 執行下列程序

      int a=21,j=16;

      (ios::hex);

      cout<<a<<"";

      (ios::hex);

      cout<<j<<endl;

      程序的輸出結果是___。

      答案:(P196)1516

      [解析]a=21以十六進制輸出,j=16以十進制輸出。

      1. 為了在對象生存期結束時釋放其指針成員所指向的動態存儲空間,通常為該類定義___。

      答案:(P80)析構函數

      [解析]析構函數用來釋放對象所占的空間。

      1. 復制構造函數使用___作為形式參數。

      答案:(P80)對象的引用

      [解析]復制構造函數使用對象的引用來初始化一個新對象,避免臨時產生對象。

      1. 假定用戶沒有給一個名為AB的類定義構造函數,則系統自動給出的缺省構造函數定義為

      ___。

      答案:(P75)AB()

      [解析]構造函數的名稱必須同類名一致,為對象分配空間和初始化。構造函數不能指定返回類

      型,函數體中不允許有返回值。構造函數可以重載,一個類可以定義多個參數個數不同的構造函

      數。如果一個類沒有定義任何構造函數,那么C++就自動建立一個默認的構造函數,沒有形參

      ,僅創建對象而不作任何初始化。

      1. 為了實現運行時的多態性,派生類需重新定義基類中的___。

      答案:(P165)虛函數

      [解析]實現運行時多態性,需要在基類中聲明虛函數或純虛函數。

      1. 重載函數在參數類型或參數個數上不同,但___必須相同。

      答案:函數名

      [解析]函數重載,形參個數、類型不同但函數名必須相同,返回類型可以不同。

      1. 下面程序運行的結果是___。

      #include <>

      void main()

      { (*);

      (5);

      cout<<"hello"<<endl;

      ();

      }

      答案:hello

      [解析]設置寬度是5但“hello”已經是5個寬度,所以不需要填充。

      1. 局部對象和全局對象中,在同一程序中___生存期最長。

      答案:全局對象

      變量或對象的生命期或者作用域的不同,全局對象生命期長。

      1. 用___修飾函數稱為虛函數。

      答案:(P170)virtual

      [解析]虛函數的定義格式:virtual返回類型函數名(形參列表){}。

      1. 下列程序段的輸出結果是___。

      (ios::showpos);

      cout<<<<endl;

      答案:(P193)+

      [解析]輸入、輸出格式ios::showpos用于輸出數據的符號位。

      1. 在C++中,利用向量類模板定義一個具有10個int的向量V,其元素均被置為字符2,實現此

      操作的語句是___。

      答案:(P151)vector<int>V(10,2)

      [解析]向量的操作,定義向量列表有多種形式,如

      vector<int>V,vector<int>V(10),vector<int>V(10,2)或者vector<int>V(向量對象)。

      1. 定義重載函數,應在___上有所不同。

      答案:(P59)參數類型與參數的個數

      [解析]重載必須在參數個數或參數類型不同,只有返回類型不同的函數不能構成函數的重載。

      1. 類是用戶定義的類型,具有類類型的變量稱作___。

      答案:(P37)對象

      [解析]對象是類的一個實例。類是對象的抽象。

      1. 在函數體之前加___關鍵字可以防止覆蓋函數改變數據成員的值。

      答案:(P113)cons

      [解析]const修飾的對象稱為常對象,修飾的引用稱為常引用它們的值不允許修改。

      1. 在構造函數和析構函數中調用虛函數時采用___。

      答案:(P167)靜態聯編

      [解析]在析構或構造函數調用虛函數發生靜態多態性。

      1. 若函數的定義處于調用它的函數之前,則在程序開始可以省去該函數的___語句。

      答案:聲明

      [解析]函數使用有兩部分:聲明和定義。定義在前,可以無聲明;但函數定義在后,調用在前

      的話,需要先聲明函數的原型。

      1. C++提供的預處理語句有3種,文件包含、條件編譯和___。

      答案:(P7)宏定義

      [解析]預處理的語句有三種,文件包含、條件的編譯和宏定義。

      1. 在C++中有兩種參數傳遞方式:傳值和___。

      答案:(P51)傳引用

      [解析](1)傳值調用又分為數據傳值調用和地址傳值調用。(2)引用調用是將實參變量值傳

      遞給形參,而形參是實參變量的引用名。引用是給一個已有變量起的別名,對引用的操作就是對

      該引用變量的操作。

      1. 在保護派生中,基類權限為public的成員在派生類中___。

      答案:(P132)保護類型

      [解析]基類是保護或公有的,采用保護繼承后,在派生類中都是保護類型。

      采用公有繼承后,基類是保護或公有的權限在派生類中不變。

      采用私有繼承后,基類是保護或公有的權限在派生類中為私有。

      1. 若要使用string類,需要引入的頭文件是___。

      答案:(P40)

      [解析]編譯時要將頭文件引入才能使用標準庫中的方法或成員。

      1. 在函數前面用___保留字修飾時,則表示該函數表為內聯函數。

      答案:(P59)inline

      [解析]內聯函數,用來提高程序運行速度。在類內部定義的函數也是內聯函數。

      1. 向量操作方法中___方法返回向量中的第一個對象。

      答案:(P151)front

      [解析]考察向量方法的使用。front():返回向量中的第1個對象。back():返回向量中的最

      后一個對象。operator[](size_type,n):返回向量中的第n+1個對象(下標為n的向量元素

      )。

      1. C++派生類使用兩種基本的面向對象技術:第一種稱為性質約束,即對基類的性質加以限制

      ;第二種稱為___,即增加派生類的性質。

      答案:(P129)性質擴展

      [解析]派生類通過繼承可以從基類中獲得成員,也可以自定義成員。

      1. 重載的運算符保持其原有的___、優先級和結合性不變。

      答案:(P183)操作數

      [解析]運算符重載時要遵循以下規則:

      (1)除了類屬關系運算符“.”、成員指針運算符“.*”、作用域運算符“::”、sizeof運算符

      和三目運算符“:”以外,C++中的所有運算符都可以重載。

      (2)重載運算符限制在C++語言中已有的運算符范圍內的允許重載的運算符之中,不能創建新的

      運算符。

      (3)重載之后的運算符不能改變運算符的優先級和結合性,也不能改變運算符操作數的個數及

      語法結構。

      1. 編譯時的多態性通過___函數實現。

      答案:(P165)重載

      [解析]編譯多態性,實現的方法主要通過函數的重載或運算符的重載。

      1. 預處理語句有三種,分別是宏定義、文件包含和___。

      答案:(P7)條件編譯

      [解析]宏定義#define,文件包含#include和條件編譯#if等。

      1. 構造函數、析構函數和友元函數中,不是該類成員的是___。

      答案:(P109)友元函數

      [解析]友元函數不是類成員,但可以訪問類中成員。

      1. 控制格式輸入輸出的操作中,函數___是設置域寬的。要求給出函數名和參數類型)。

      答案:(P193)setw(int)

      [解析]setw(int n):用來設置n輸出寬度。

      1. 派生類的成員一般分為兩部分,一部分是___,另一部分是自己定義的新成員。

      答案:(P127)從基類繼承的成員

      [解析]派生類成員一個來自繼承基類成員,一個來自本身增加的成員。

      1. C++中ostream的直接基類___。

      答案:(P193)ios

      [解析]istream和ostream的直接基類是ios。

      1. vector的___方法返回向量中的最后一個對象。

      答案:(P151)back

      [解析]front():返回向量中的第1個對象。back():返回向量中的最后一個對象。

      operator[](size_type,n):返回向量中的第n+1個對象(下標為n的向量元素)。

      1. 執行下列代碼

      int i=230;

      cout <<"i="<<hex <<i<<endl;

      程序的輸出結果為___。

      答案:(P193)i=e6

      [解析]流類庫中使用格式符,輸出十六進制數據。

      1. 在C++中有兩種參數傳遞方式即值傳遞和___傳遞。

      答案:(P51)引用

      [解析]函數參數傳遞有傳值和傳引用兩種。

      1. 使用new為int數組動態分配10個存儲空間是___。

      答案:(P10)new int[10];

      [解析]new delete動態開辟空間和刪除空間。new int[10],注意不要寫成new

      int(10),使用小括號只能開辟一個空間,使用10來初始化該值。

      1. 面向對象的四個基本特性是多態性、繼承性、和封裝性___。

      答案:(P37)抽象

      [解析]考察面向對象的四個特征。程序由一組抽象的對象組成,一組對象的共同特征抽象出類

      的概念,類是對象的抽象,對象是類的實例。封裝即將數據和操作緊密結合提供訪問的接口,外

      部通過接口實現訪問數據,提供安全性。繼承繼承解決了類的擴展性。多態性不同對象調用相同

      的函數名,但調用不同的函數,實現不同的功能,解決了接口統一的問題。

      1. 定義虛函數所用的關鍵字是___。

      答案:(P170)virtual

      [解析]在成員函數前加virtual修飾的函數就是虛函數。但不是所有成員函數都可以定義為虛

      函數的。比如構造函數,不能定義虛函數。

      1. 執行下列代碼

      cout<<“oct:”<<oct<<34;

      程序的輸出結果是___。

      答案:(P193)Oct:42

      [解析]oct表示八進制,hex表示十六進制,但它們只能輸出整型的數據。

      1. 在C++中要創建一個文件輸入流對象fin,同時該對象打開文件“”用于輸入,則

      正確的聲明語句是___。

      答案:(P200)ifstream fin(“”);

      [解析]文件操作中ifstream用于文件的輸入,可以調用它的構造函數與要打開的文件進行關聯

      。

      1. 如果一個派生類只有一個唯一的基類,則這樣的繼承關系稱為___。

      答案:(P130)單一

      [解析]根據派生類所擁有的基類數目不同,可以分為單繼承和多繼承。一個類只有一個直接基

      類時,稱為單繼承;而一個類同時有多個直接基類時,則稱為多繼承。

      基類與派生類之間的關系如下:

      (1)基類是對派生類的抽象,派生類是對基類的具體化,是基類定義的延續。

      (2)派生類是基類的組合。多繼承可以看作是多個單繼承的簡單組合。

      (3)公有派生類的對象可以作為基類的對象處理。__

      1. 繼承的方式有公有繼承、私有繼承和___。

      答案:(P133)保護繼承或protected

      [解析]繼承方式有三種:公有、私有和保護。

      1. 表達式cout<<hex還可表示為___。

      答案:(P193)cout<<setiosflags(ios::hex)

      1. 通過C++語言中的___機制,可以從現存類中構建其子類。

      答案:(P127)繼承

      [解析]繼承概念,從現有的類生成新類,原有的類稱為父類或基類,新類又稱子類或派生類或

      衍生類,它是對基類的擴充。

      1. ___是istream類的對象,用處理標準輸入,即鍵盤輸入。

      答案:(P193)cin

      [解析]cin、cout和cerr clog分別進行輸入、輸出和錯誤處理。

      1. 假設類X的對象x是類Y的成員對象,則“Y Obj”語句執行時,先調用類___的構造函數。

      答案:(P130)X

      [解析]派生類中的構造函數的執行順序,先基類后派生類。

      1. 派生的新類同時可以增加或重新定義數據和操作,這稱為類的___性。

      答案:(P129)層次性

      [解析]面向對象的主要特征:封裝、抽象、多態和繼承。

      1. C++中istream的直接基類___。

      答案:(P194)ios

      1. C++程序是從___函數開始執行的。

      答案:main()

      [解析]C++的程序由若干個文件組成,文件名的后綴為.cpp。每個文件又是由函數組成,函數

      之間可以調用。在這些函數中只有一個函數是主函數main()。程序執行時,操作系統先調用主函

      數,主函數再依次調用其它函數完成設計任務。

      1. 對已有的運算符賦予多重含義,使同一運算符能夠對不同類型的數據進行操作,稱為___。

      答案:(P186)運算符重載

      [解析]運算符重載,是特殊的函數重載,是對系統已有的部分運算進行的再定義。

      1. 派生類的主要用途是可以定義其基類中___。

      答案:(P127)不具有的成員

      [解析]繼承的特點,擴充基類,即在派生類中增加基類不具有的成員。

      1. 含有純虛函數的類稱為___。

      答案:(P173)抽象類

      [解析]帶有純虛函數的類稱為抽象類。抽象類具有下述一些特點:

      (1)抽象類只能作為基類使用,其純虛函數的實現由派生類給出;但派生類仍可不給出純虛函數

      的定義,繼續作為抽象類存在。

      (2)抽象類不能定義對象,一般將該類的構造函數說明為保護的訪問控制權限。

      (3)可以聲明一個抽象類的指針和引用。通過指針和引用,可以指向并訪問派生類對象,進而訪

      問派生類的成員,這種訪問是具有多態特征的。

      1. 拷貝初始化構造函數使用___來初始化創建中的對象。

      答案:(P80)對象的引用

      [解析]拷貝即復制構造函數的使用對象的引用作為形參,避免臨時產生對象。

      1. 在C++中,利用向量類模板定義一個具有10個int的向量A,其元素均被置為1,實現此操作

      的語句是___。

      答案:(P151)vector<int>A(10,1)

      [解析]定義向量列表vector<int>A(10,1),使用兩個參數,10表示長度,1表示數值。

      1. 一個const對象只能訪問___成員函數。

      答案:(P113)常

      [解析]const對象只能訪問常成員函數。

      1. C++是通過引用運算符___來定義一個引用的。

      答案:(P10)&

      [解析]引用是C不具有使用方法,它表示變量的別名,在函數中使用很頻繁,因為調用形式同

      傳值調用,但修改形參實參也會相應改變的特征。

      1. 執行___操作將釋放由指針所指向的動態分配的數據空間。

      答案:(P10)delete

      [解析]delete用來刪除new創建的對象。

      1. 有int a=1,b=2;則表達式a+++--b的值為___。

      答案:2

      [解析]a++是后加,--b是前減。

      1. A是一個類,已有語句“A* p;p=new A[10];”。要釋放由p指向的動態空間,正確的語句

      應該是___。

      答案:(P10)delete p;

      [解析]delete釋放動態分配的空間,p是一個一級指針,所以delete p。

      1. 定義___函數時,應在參數個數或參數類型上有所不同。

      答案:(P59~60)重載

      [解析]重載函數要求同名函數具有相同的功能,而只能是函數類型、參數個數或參數順序不同

      。系統將根據同名函數的這些不同之處來選擇其對應的實現。

      1. 執行下列代碼

      int a=32;

      double c=32;

      (ios::hex);

      cout<<"hex:a="<<a<<",c="<<c<<endl;

      (ios::hex);

      程序的輸出結果為___。

      答案:(P193)hex:a=20,c=32

      [解析]用十六進制只能輸出整型數據,而不能將其它類型數據轉換成十六進制的數據輸出。所

      以double類型不變仍然是32(double類型)。

      1. 在定義成員函數時,函數體之前加上___防止覆蓋函數改變數據成員的值。

      答案:(P114)const

      [解析]使用const關鍵字說明的成員函數稱為常成員函數,常成員函數的說明格式如下:<返回

      類型說明符><成員函數名>(<參數表>)const;

      在使用常成員函數時要注意:

      (1)const是函數類型的一個組成部分,因此在函數實現部分也要帶有const關鍵字。

      (2)常成員函數不更新對象的數據成員,也不能調用該類中沒有用const修飾的成員函數。

      (3)常對象只能調用它的常成員函數,而不能調用其他成員函數。

      1. 如果一個引用不是用作函數參數或返回值,則在說明該引用時必須對它進行___。

      答案:(P10)賦予初始值

      [解析]除了作為形參或返回值,聲明引用必須進行初始化,即必須指明它所引用的變量或者對

      象。

      1. 如果要把PI聲明為值為類型為雙精度實數的符號常量,該聲明語句是___。

      答案:(P6)const double PI;或者const double PI=;

      [解析]使用const聲明符號常量,常量和常量值可以用括號也可以賦值號。

      1. C++支持兩種多態性:___時的多態性和運行時的多態性。

      答案:(P167)編譯

      [解析]多態性有兩種:編譯時的多態性和運行時的多態性。

      1. 將指向對象的引用作為函數的形參,形參是對象的引用,實參是___。

      答案:(P53)對象名

      [解析]實參與形參類型要一致,形參是對象的引用,實參應該是對象名。

      1. 在用class定義一個類時,數據成員和成員函數的默認訪問權限是___。

      答案:(P69)private

      [解析]定義類時的成員默認為私有,而結構體則是公有。

      1. ___多態性通過虛函數來實現的。

      答案:(P139)運行多態性

      [解析]多態性分為靜態和動態兩種。

      1. C++中有兩種繼承:單繼承和___。

      答案:(P138)多繼承

      [解析]單繼承和多繼承,多繼承即有多個基類。

      1. 如果通過同一個基類派生一系列的類,則將這些類總稱為___。

      答案:(P174)類族

      [解析]單繼承方式派生的眾多的類。

      1. 帶有___的類稱為抽象類。

      答案:(P173)純虛函數

      [解析]類中至少有一個純虛函數,該類就稱為抽象類,抽象類不能定義對象。

      1. 設要把一個文件輸出流對象outfile與文件“d:\”相關聯,設置以二進制形式

      打開。所用的C++語句是___。

      答案:(P199)(“d:\\”,ios_base::out|ios_base::binary);。

      [解析]文件操作,也可以定義流對象時使用構造函數直接與文件關聯,格式:文件流類對象

      (“文件名”,打開方式);。

      1. 靜態成員定義的關鍵字為___。

      答案:static

      [解析]靜態成員是類中所有對象共享特征,使用static關鍵字來說明。靜態數據成員在每個類

      對象中并不占有存儲空間,靜態數據成員的值對每個對象都是一樣的,但它的值可以被任何一個

      對象更新,從而實現了同一類的不同對象之間的數據共享。靜態數據成員具有靜態生存期,必須

      對它進行初始化。靜態數據成員初始化的一般格式如下:<數據類型說明符><類名>::<靜態數據

      成員名>=<初始值>;。

      1. 下面程序的輸出結果為___。

      int num=2,i=6;

      while(--i);

      {i--;

      num++;

      }

      cout<<num<<endl;

      答案:33

      [解析]i=6進入循環,但是要注意,while后面是分號,表示循環的結束,也就是說while循環

      體是空的。執行5次循環,退出循環后,執行i--,num++,原num=2,所以此時num=3。

      1. 在刪除一個動態對象時,將自動調用該動態對象所屬類的___函數。

      答案:(P80)析構

      [解析]在下列情況下,析構函數會自動被調用:

      (1)如果一個對象被定義被一個函數體內,當這個函數結束時,該對象的析構函數被自動調用

      。

      (2)若使用new運算符動態創建一個對象,在使用delete運算符釋放時,delete將會自動調用析

      構函數。

      1. 類的私有成員只能被它的成員函數和___訪問。

      答案:(P109)友元

      [解析]友元函數可以訪問類的所有成員。

      1. 在派生類中實現基類成員的初始化,需要由派生類的構造函數調用___來完成。

      答案:(P127)初始化列表

      [解析]定義派生類對象,先執行基類構造函數、后執行本類的構造函數。

      1. 在C++中,編譯指令都是以___(符號)開始。

      答案:#

      C++的源程序可包括各種編譯指令,以指示編譯器對源代碼進行編譯之前先對其進行預處理。所

      有的編譯指令都以#開始,每條指令單獨占用一行,同一行不能有其他編譯指令和C++語句(注釋

      例外)

      1. 假定用戶為類AB定義了一個構造函數“A (int i=0):x(i){}”,則定義該類的對象,與該

      語句等價的格式為___。

      答案:(P76)A(int i=0){x=i;}

      [解析]在構造函數中對數據成員的初始化可以采用列表的形式,也可以在函數體內進行賦值操

      作。

      1. 在單繼承和多繼承方式中,面向對象的程序設計應盡量使用___繼承。

      答案:(P138)單

      [解析]多繼承是單繼承的擴展,且多繼承易產生二義性等問題。

      1. 在C++中,虛函數幫助實現了類的___。

      答案:(P170)多態性

      [解析]動態多態性是通過基類指針或引用結合虛函數來實現的。__

      1. 設類A有成員函數void f(void);若要定義一個指向類成員函數的指針變量pf來指向f,該

      指針變量的聲明語句是:___。

      答案:(P117)void (A::*pf)(void)=&A::f;

      [解析]void(A::*pf)(void)=&A::f;指向成員函數的指針,它相當于兩條語句

      :void(A::*pf)(void);和pf=&A::f;。

      1. 執行下列程序

      double a=,b=;

      cout<<setprecision(5)<<a<<", "<<setprecision(5)<<b<<endl;

      程序的輸出結果是___。

      答案:,

      [解析]題目設置精度即有效數字都是5,a四舍五入是,b是。

      1. vector類中用于刪除向量中的所有對象的方法是___。

      答案:(P151)clear()

      [解析]向量的使用。返回向量中對象的方法有:front()back()operator[],在向量中刪

      除對象的方法pop_back erase clear。

      1. 在下面的類定義中,私有成員有___。

      class Location

      {int X,Y;

      protected:

      int zeroX,zerxY;

      int SetZero(intzeroX, intzeroY);

      private:

      int length,height;

      public:

      void init(int initX,int initY);

      int GetX();

      int GetY();

      };

      答案:(P69)X,Y,length,height

      1. 在C++中,訪問指針所指向的對象的成員使用___運算符。

      答案:->或.

      [解析]使用指針訪問成員有兩種方法:成員運算符“.”或指向運算符“.”。

      1. C++支持的兩種多態性分別是___多態性和運行多態性。

      答案:(P165)靜態或編譯

      [解析]多態性包括靜態(編譯時)的和動態(運行時)的動態性。

      1. C++中語句const char * const p=“hello”;所定義的指針p和它所指的內容都不能被

      ___。

      答案:(P12)修改

      [解析]使用const修改的內容不能修改,這里同時修飾地址和值,表示地址和值都不變。

      1. 假定AB 為一個類,則語句AB(int i=0);為該類___函數的原型說明。

      答案:(P80)帶默認值的構造函數

      [解析]帶默認值參構造函數,即建立對象時沒有參數時,則采用默認值0。

      1. 在C++中,定義虛函數的關鍵字是___。

      答案:(P170)virtual

      [解析]在普通函數前面用virtual修飾的函數,就稱為虛函數。

      1. 采用私有派生方式,基類的public成員在私有派生類中是___成員。

      答案:(P132)私有

      1. 在面向對象程序設計中,將一組數據和這組數據有關的操作集合組裝在一起形成對象,這

      個過程叫___。

      答案:(P74)封裝

      封裝即將數據和函數組合起來。

      1. ___規則是指在公有派生情況下,一個派生類的對象可以作為基類的對象來使用的地方。

      答案:(P133)賦值兼容

      [解析]繼承概念,派生類對象可以作為基類對象使用。結合指針或引用調用虛函數可以實現多

      態性。

      1. C++語言的函數參數傳遞方式有傳值和___。

      答案:(P51)傳引用

      [解析]參數傳遞的方式有兩種傳值和傳引用,傳值又分為傳地址值和傳數值兩種。

      1. 對某個運算符的重載,實際上是用關鍵字___與該運算符組成一個運算符函數。

      答案:(P183)operater

      [解析]運算符的重載即對運算符賦予更多的含義。使用關鍵字operator+函數組成的,只是該

      函數是特殊的函數,函數名是運算符。

      1. 所有模板都是以___關鍵字和一個形參表開頭的。

      答案:(P61)template

      [解析]類模板,函數模板都要使用template這一關鍵字。

      1. 在C++語言中,訪問一個對象的成員所用的成員運算符是___。

      答案:.

      [解析]成員運算符“.”,如果是指針可以使用“->”。

      1. 通過C++語言中的類的___,可以擴充和完善已有類以適應新的需求。

      答案:繼承

      [解析]類的繼承,實現類擴展。

      1. 開發一個C++語言程序的步驟通常包括編輯、___、連接、運行和調試。

      答案:(P21)編譯

      [解析]vc開發過程,要經過編輯、編譯、連接和運行四個步驟,與其它高級語言相同。

      1. 以下程序輸出的結果是___。

      int a=5,b=4,c=3,d;

      d=a>b>c;

      cout<<d;

      答案:0

      [解析]運算符級別高低不同,賦值號級別低,關系表達式的值是邏輯值。a>b是真,為1,但不

      大于c=3,所以為假即0,所以d為0;邏輯值可以用1或0表示真或假。

      1. 在C++四個流對象中,___用于標準屏幕輸出。

      答案:(P194)cout

      [解析]cin、cout、cerr和clog中cin用于輸入,cout用于輸出,cerr、clog錯誤處理。__

      相關推薦 更多 >>

      全國2015年10月Java語言程序設計試題

      全國2015年10月Java語言程序設計試題
      全國2015年10月Java語言程序設計試題一、單項選擇題(本大題共10小題.每小題1分.共10分)?

      全國2016年4月Java語言程序設計試題及答案

      全國2016年4月Java語言程序設計試題及答案
      全國2016年4月Java語言程序設計試題一、選擇題,(本大題共10小題,每小題1分共10 分)在每小題列出的四個各選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選,多選或未選均無分。

      2022年JAVA程序設計考試試題及答案

      2022年JAVA程序設計考試試題及答案
      Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于PC、數據中心、玩耍把握臺、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。下面是我整理的關于JAVA考試試題及答案,歡迎參考!

      2023年4月全國自考C++程序設計模擬試卷(一)

      2023年4月全國自考C++程序設計模擬試卷(一)
      單項選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個備選項中 只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均無 分。

      C++程序設計??继羁疹}及答案

      C++程序設計??继羁疹}及答案
      C++的流庫預定義了4個流,它們是cin、cout、clog和___。答案:(P193)cerr[解析]cin、cout、clog和cerr分別用于標準輸入、輸出、標準錯誤流(緩沖)和標準錯誤流

      c++程序設計-2014年4月自考真題及答案

      c++程序設計-2014年4月自考真題及答案
      單選下列關于類的權限描述錯誤的是( ??)A.類本身的成員函數可以訪問自身的任何成員B.類的對象只能訪問公有成員C.普通函數可以不通過對象直接訪問類的公有成員D.一個類可以包含另一個類的對象作為成員