已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
.上 海 交 通 大 學(xué) 試 卷(A)參考答案( 2009 至 2010 學(xué)年 第_二_學(xué)期)班級號_ 學(xué)號_ 姓名 課程名稱 C+程序設(shè)計 成績 一 選擇題(每題1分,共10分)1、類CStudent的拷貝構(gòu)造函數(shù)的聲明語句為 。ACStudent &CStudent (const CStudent other) BCStudent CStudent(const CStudent other)CCStudent (CStudent *other) DCStudent (const CStudent &other)2、類的友元函數(shù)能訪問該類的 。A私有成員B保護成員C所有成員D公有成員3、下面關(guān)于靜態(tài)數(shù)據(jù)成員的描述中,正確的是 。 A靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用B靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進行初始化C靜態(tài)數(shù)據(jù)成員不能受private控制符的作用D類的不同對象有不同的靜態(tài)數(shù)據(jù)成員值4、 當(dāng)使用fstream流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為_ Aios:in Bios:out Cfstream:in | fstream:out D沒有指定打開方式5、若char p20=”hello world”;則輸出該字符串正確的語句是_ _。Acoutp20; Bcout&p; Ccout. *p; Dcout p;6、在派生類中重新定義虛函數(shù)時,除了 方面,其他方面都必須與基類中相應(yīng)的虛函數(shù)保持一致。 A參數(shù)個數(shù)和類型 B函數(shù)體 C函數(shù)名稱 D返回類型7、類模板定義如下:template class Array .;對該類模板實例化正確的是 。AArray x;BArray x;Ctemplate x; DArray x;我承諾,我將嚴格遵守考試紀律。承諾人: 題號得分批閱人(流水閱卷教師簽名處) 8、公有成員提供了類對外部的接口,私有成員是類的內(nèi)部實現(xiàn),而 不許外界訪問,但允許派生類的成員訪問,這樣既有一定的隱藏能力,也提供了開放的接口。A公有成員 B.私有成員 C.私有成員函數(shù) D.保護成員9、假定AB為一個類,則執(zhí)行 AB a(2), b3, *p; 語句時共調(diào)用該類構(gòu)造函數(shù)的次數(shù)為 。 A. 1 B. 3 C. 4 D. 5 10、如果A是已經(jīng)定義好的一個類,函數(shù)f的原型為A f(). r2是A類的一個對象,在函數(shù)f中執(zhí)行return r2時,系統(tǒng)將自動調(diào)用 。A.缺省的構(gòu)造函數(shù) B.拷貝構(gòu)造函數(shù) C.賦值運算符重載函數(shù) D.不調(diào)用任何函數(shù)二 看程序,寫結(jié)果(每題5分,共35分)1、請寫出下列程序運行結(jié)果class ADD friend ADD operator+(ADD op); friend ADD operator+(ADD &op, int n);public:ADD(int i = 0, int j = 0) a = i; b = j;void Show() const cout a= a ,b= b endl;private:int a, b;ADD operator+(ADD op)+op.a; +op.b;return op;ADD operator+(ADD &op, int n)+op.a;+op.b;return op;void main()ADD obj(1, 2);obj.Show();(obj+).Show();obj.Show();(+obj).Show(); obj.Show(); 2、請寫出下列程序運行結(jié)果class CConAndDecon public:CConAndDecon(char value) m_data = value;cout Object m_data constructor endl; CConAndDecon(const CConAndDecon &other) m_data = other.m_data - 1 ;cout Object m_data copy constructor endl; CConAndDecon operator=(const CConAndDecon &right) if( this != &right ) m_data = right.m_data + 1 ;cout Object s new value is m_data endl; return *this;CConAndDecon() cout Object m_data destructor endl; private:char m_data;void Func(CConAndDecon x);int main()CConAndDecon *p = new CConAndDecon(h);static CConAndDecon c1( k);Func(*p); delete p;return 0;void Func(CConAndDecon x)static CConAndDecon c1 = x; CConAndDecon c2 = c1;3、請寫出下列程序運行結(jié)果class CMakepublic:CMake(int n) m_data = n ; cout 構(gòu)造 m_data endl; CMake(const CMake &obj) m_data = obj.m_data + 1; cout 拷貝構(gòu)造 m_data endl;CMake() cout 析構(gòu) m_data endl; operator int() const return m_data; private:int m_data;CMake MakeObject( int n )CMake p (n);return p;int main()cout MakeObject( 7 ) endl;return 0;4、請寫出下列程序運行結(jié)果class BaseFly public: virtual void Fly() cout n-Class BaseFly:Fly()-n; ;class BirdFly: public BaseFly public: void Fly() cout -Class BirdFly:Fly()-n ;class DragonFly: public BaseFly public: void Fly() cout n-Class DragonFlyFly:Fly()-n; ;void main() BaseFly *pBase, oBase; BirdFly *pBird = new BirdFly(); pBase = pBird; cout ”; pBase-Fly(); DragonFly *pDragon = new DragonFly(); pBase = pDragon; oBase = *pDragon; pBase-Fly(); pBird-Fly(); pDragon-Fly(); oBase.Fly();5、寫出下列程序執(zhí)行結(jié)果class Point friend bool operator!=(const Point &p1, const Point &p2) return p1.x+p1.y != p2.x+p2.y; private:int x, y; public: Point(int a = 1, int b = 1) x = a; y = b; cout 構(gòu)造Point( x , y ) endl; Point(const Point &p)x = p.x; y = p.y;cout 拷貝構(gòu)造Point( x , y ) endl; Point() cout 析構(gòu)Point( x , y ) endl; Point &operator+() if (x y) +x;else +y; return *this;void show() cout Point( x , y ) endl; int getx() const return x;int gety() const return y; int main( )const Point origin(10, 5);Point point2(6, 7);int n = 0;while (point2 != origin) +point2; +n;point2.show();cout “n= “ n 0; i /= 3)try func(i);cout i = i endl; catch( int) cout exception: int endl; catch (double) cout exception: double endl; return 0;void func(int num ) if ( num % 3 ) throw 3; else if ( num % 5 ) throw 5.5; 7、寫出下列程序的輸出結(jié)果template class Sample protected:T n; public: Sample(T i) n = i; cout construct n endl; Sample() cout destruct n endl; void disp()cout n= setfill ( # ) setw ( 10 ) n endl; ; template class model: public Sample T m;public:model(T t1, T t2): Sample(t1) m = t2; cout construct m endl; model() cout destruct m endl; void disp()cout n= setfill ( # ) setw ( 10 ) n m endl; operator T () const return n + m; ;int main() model s (20, 30); s.disp(); cout (int) s endl;return 0;三 程序填空(每空2分,共30分)1、下列程序的輸出是:25 714請?zhí)羁?。class CConst public:CConst(int d = 0) : size += d; void Print() cout len “ “ size endl; void show() cout size endl; private:const int len; static int size; int main()CConst: show();const CConst c(5);c.Print(); CConst c2(7);c2.show();return 0;2、下面是處理二維平面上線段的類,其中的Point是上一大題第5題中定義的Point類,請?zhí)羁铡lass line Point start;Point end;public:line(int sx, int sy, int ex, int ey): int length() / 計算線段的長度 return sqrt(end.getx()-start.getx()* (end.getx()-start.getx() +(end.gety()-start.gety() * (end.gety()-start.gety() ; ;3、下面的函數(shù)打開一個保存著一批字符串的文本文件,字符串間用空格分離,各字符串的長度均小于20。文件名作為參數(shù)傳入函數(shù)。函數(shù)讀出文件中的字符串,并輸出字符串到屏幕,每行一個,最后統(tǒng)計輸出在文件中一共有多少個字符串。void FR(char* fname) fin(fname);char a20;int cnt = 0;if ( ) cout cant open file;return;while ( ) cout a endl; ; ;cout 字符串總數(shù)為 cnt endl;4、補充函數(shù)equal使得程序結(jié)果為:5 + 6 = 11;1.111 + 2.222 = 3.333 T add ( ) ; int main()int i = 5, j = 6;double y1 = 1.111222, y2 = 2.22222222222;cout i + j = add(i, j) endl;cout setprecision(4) y1 + y2 = add(y1, y2) endl;return 0;四. 編程(共25分)1、設(shè)計一個學(xué)生類student,包括姓名和三門課程成績,利用重載運算符”+“將所有學(xué)生的成績相加放在一個對象中,再對該對象求各門課程的平均分。即,運行下面測試程序時,能得到相應(yīng)的執(zhí)行結(jié)果。(10分)voidmain()students1(Li, 78, 82, 86), s2(Zheng, 75, 62, 89); students3(Ma, 89, 87, 95), s4(Xu, 54, 78, 66), s; cout 輸出結(jié)果 endl; s1.disp(); s2.disp(); s3.disp(); s4.disp(); s=s1 + s2 + s3 + s4; /調(diào)用重載運算符 avg(s, 4); /友元函數(shù)求平均分 本測試程序的執(zhí)行結(jié)果如下: 輸出結(jié)果: Li788286 Zheng756289 Ma898795 Xu547866 平均分747784評分標(biāo)準: 正確定義數(shù)據(jù)成員(2分):姓名和三門課的成績 正確定義成員函數(shù)(3分):構(gòu)造函數(shù),disp函數(shù),avg函數(shù) 正確定義+重載函數(shù)(1分):定義為成員函數(shù)或友元函數(shù) 每個函數(shù)的實現(xiàn):各1分2、編寫一個程序,計算扇形面積和球體表面積。已知:圓周率 = 3.1415926 且并定義為所有對象共享的常量扇形面積 = 圓周率*半徑的平方*角度/360球體表面積 = 4*圓周率*球體半徑的平方要求:你需要從一個抽象類container出發(fā),完成對扇形類(sector)和球體類(sphere)的設(shè)計。(10分)需通過如下的main函數(shù):#inc
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年浙江育英職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫參考答案詳解
- 2026年貴州水利水電職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試題庫及答案詳解1套
- 2026年西安城市建設(shè)職業(yè)學(xué)院單招職業(yè)傾向性測試題庫及參考答案詳解一套
- 2026年汕頭職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案詳解1套
- 2026年甘肅畜牧工程職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試題庫及參考答案詳解一套
- 2026年廈門安防科技職業(yè)學(xué)院單招綜合素質(zhì)考試題庫及完整答案詳解1套
- 2026年吉安職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案詳解一套
- 2026年牡丹江大學(xué)單招職業(yè)技能測試題庫及答案詳解一套
- 2026年昆山登云科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫及參考答案詳解1套
- 2026年重慶旅游職業(yè)學(xué)院單招職業(yè)技能考試題庫及參考答案詳解一套
- 液壓與氣動技術(shù)PPT完整版全套教學(xué)課件
- 巴旦木脫青皮的設(shè)計說明書
- 中藥配位化學(xué)研究及應(yīng)用
- 2023屆廣東省深圳市高三第二次調(diào)研考試語文講評課件
- 全國碩士研究生入學(xué)統(tǒng)一考試《思想政治理論》試題答題卡模板
- 水肥一體化技術(shù)稿
- GB/T 31849-2015汽車貼膜玻璃
- FZ/T 73023-2006抗菌針織品
- 智慧檔案館大數(shù)據(jù)平臺建設(shè)和運營整體解決方案
- 酒店施工策劃演示文稿1
- 樓板鑿除重新澆筑方案
評論
0/150
提交評論