C++期末測試題_第1頁
C++期末測試題_第2頁
C++期末測試題_第3頁
C++期末測試題_第4頁
C++期末測試題_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上一、 單項選擇題(每題3分,共30分)1、 下面選項中哪項不是面向?qū)ο蟪绦蛟O(shè)計的特性。( B )A、封裝性 B、相似性 C、繼承性 D、多態(tài)性2、以下哪一關(guān)鍵字可用于重載函數(shù)的區(qū)分。( C )A、extern B、static C、const D、virtual3、下面關(guān)于構(gòu)造函數(shù)的描述中,哪項是錯誤的。( C )A、構(gòu)造函數(shù)名與類名相同;B、構(gòu)造函數(shù)當對象被創(chuàng)建時會自動調(diào)用;C、構(gòu)造函數(shù)不允許重載;D、構(gòu)造函數(shù)沒有類型,也沒有返回值;4、實現(xiàn)多態(tài)性的途徑不包括下面哪一項。( D )A、函數(shù)重載 B、運算符重載C、虛函數(shù) D、虛基類5、下列關(guān)于this 指針說法正確的

2、是( B )A、this指針存在于每一個函數(shù)中;B、this指針是指向當前對象的指針;C、this指針是指向虛函數(shù)的指針;D、this指針是指向成員函數(shù)的指針;6、下列不能重載的運算符是( C )A、&& B、= C、 . D、->7、析構(gòu)函數(shù)在下列哪種情況下會自動調(diào)用。( C )A、對象創(chuàng)建時 B、對象創(chuàng)建后 C、對象刪除時 D、對象刪除后8、虛基類的作用主要是( A )A、避免在派生類中出現(xiàn)多個相同的基類;B、避免在派生類中出現(xiàn)相同的成員函數(shù);C、避免在派生類中出現(xiàn)相同的數(shù)據(jù)成員;D、允許在派生類中出現(xiàn)多個相同的基類;9、純虛函數(shù)的作用主要是( B )A、定義和實現(xiàn)函

3、數(shù)的功能;B、限制派生類必須實現(xiàn)的功能;C、在派生類中可直接使用基類的純虛函數(shù);D、限制重載虛函數(shù)的返回值必須為0;10、下列關(guān)于構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用的順序哪一個是錯誤的。( A )A、先構(gòu)造派生類再構(gòu)造基類;B、先析構(gòu)派生類再析構(gòu)基類;C、先構(gòu)造基類再構(gòu)造派生類類;D、先構(gòu)造類中對象在構(gòu)造派生類;二、 填空題(每題2分,共20分)1、類中的成員從訪問和繼承屬性分public、private、protected三種。2、同一組重載的函數(shù)之間在 形參上 必須有所不同。3、在UintArray類中,其析構(gòu)函數(shù)的名稱為 UintArray。4、抽象類中至少包含 一個純虛函數(shù)。5、要實現(xiàn)在派生類中

4、可以訪問基類的public和protected成員,派生類對象可以訪問基類的public成員,繼承方式必須選擇 public。6、一個類中private成員與protected成員不同之處在于 在派生類中基類的private 成員不可訪問,而基類的protected 成員可以訪問。7、通過對象訪問類中的成員是采用 .(成員) 運算符,通過對象的指針訪問類中的成員是采用 >(指向) 運算符。8、要使一個外部函數(shù)可以訪問類中的private成員,方法是 在類中將該函數(shù)聲明為友元函數(shù)。9、類中的靜態(tài)成員函數(shù)只能訪問類中的 靜態(tài) 數(shù)據(jù)成員。10、用new 申請的內(nèi)存,使用完后,必修用 delet

5、e 加以釋放。三、 程序閱讀題, 寫出程序運行結(jié)果(每題5分, 共20分)1、運行時輸入 12 34#include<iostream>using namespace std;int main()int x, y, z;cin >> x >> y;z = x + y;cout << "z=" << z << endl;return 0;2、#include<iostream>using namespace std;void Test(int x)cout << x <<

6、; endl;void Test(double x)cout << x << endl;int main()int x = 10;double y = 123.65;Test(x);Test(y);Test(x + y);return 0;3、#include<iostream>using namespace std;class Complexpublic:Complex(int x = 0, int y = 0) : x(x), y(y)void Display()cout << x << (y > 0 ? "+&q

7、uot; : "") << y << 'i' << endl;private:int x;int y;int main()Complex a(3, 8), b(4, -6);a.Display();b.Display();return 0;4、#include<iostream>using namespace std;class Basepublic:Base(int x)b = x;cout << "Base Object Constructed" << endl;

8、Base()cout << "Base Object Destructed" << endl;int b;class Derevid : public Basepublic:Derevid(int x, int y = 0) : Base(x)data = y;cout << "Derevid Object Constructed" << endl;Derevid()cout << "Derevid Object Destructed" << endl;int C

9、alculate()return data * 4 + b;private:int data;int main()Derevid d(2, 5);cout << d.Calculate() << endl;return 0;四、 編程題(每題10分,共30分)1、設(shè)計一個Circle類,用于求圓的面積和周長,并在主函數(shù)中實現(xiàn)應(yīng)用。#include <iostream>using namespace std;class circleprivate:double r;public:circle(double r = 0) : r(r)double Area()r

10、eturn r * r * 3.;double circumference() return 2 * r * 3.;int main()circle c(6.2);cout << c.Area() << endl;cout << c.circumference()<< endl;return 0;2、定義一個string(字符串)類,其中包含用“+”運算符實現(xiàn)兩個字符串連接的操作,并實現(xiàn)應(yīng)用。#include <iostream>using namespace std;class mystringprivate:char *pc;in

11、t length;public:mystring(char *p)length = 0;while(plength != 0)length +;pc = new charlength + 1;for(int i = 0;i <= length; i+)pci = pi;mystring(mystring &str)pc = new charstr.length + 1;for(int i = 0;i <= str.length; i+)pci = stri;char operator (int i)return pci;mystring operator + (mystri

12、ng &str)char *p = new charlength + 1;for(int i = 0;i<length;i+)pi = pci;for(int i = 0;i<=str.length;i+)pi + length = stri;mystring s(p);return s;void display()cout << pc << endl;mystring()delete pc;int main()mystring str1("ABCD");mystring str2("EFGH");(str1

13、+ str2).display();while(true);return 0;3、先定義一個book(書)類,book類中包含書號、書名、作者、出版社、頁數(shù)、單價等信息,再從book類派生出TeachingMaterial(教材)類,增加適用專業(yè),適用課程和靜態(tài)數(shù)據(jù)成員庫存數(shù)量,增加教材采購和教材領(lǐng)用兩個成員函數(shù),并實現(xiàn)應(yīng)用。#include <iostream>#include <string>using namespace std;class bookprotected:char Number20;char Name40;char Writer20;char Pub

14、lisher20;int PageCount;float Price;public:book(char *PNumber, char *PName, char *PWriter, char *PPublisher, int count, float price)Strcpy_s(Number, PNumber);Strcpy_s(Name, PName);Strcpy_s(Writer, PWriter);Strcpy_s(Publisher, PPublisher);PageCount = count;Price = price;class TeachingMaterial : public

15、 bookprivate:char Professional30;char Course40;int Inventory;static int TotalInventory;public:TeachingMaterial(char *PNumber, char *PName, char *PWriter, char *PPublisher, int count, float price, char *PProfessional, char *PCourse, int inventory): book(PNumber, PName, PWriter, PPublisher, count, pri

16、ce)Strcpy_s(Professional, PProfessional);Strcpy_s(Course, PCourse);Inventory = inventory;TotalInventory += inventory;void display()cout << "書號:" << Number << endl;cout << "書名:" << Name << endl;cout << "作者:" << Writer <&

17、lt; endl;cout << "出版:" << Publisher << endl;cout << "頁數(shù):" << PageCount << endl;cout << "單價:" << Price << endl;cout << "適用專業(yè):" << Professional << endl;cout << "適用課程:" <&l

18、t; Course << endl;cout << "庫存:" << Inventory << endl;cout << "教材總庫存:" << TotalInventory << endl;int TeachingMaterial:TotalInventory = 0;int main()TeachingMaterial tm1("978-7-302-22798-4","C+語言程序設(shè)計(第4版)","鄭莉","清華大學出

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論