版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、最新C+練習(xí)題(附答案)5.911以下關(guān)于 C+函數(shù)的表達(dá)中,正確的選項(xiàng)是 A每個(gè)函數(shù)至少要具有一個(gè)參數(shù) B每個(gè)函數(shù)都必須返回一個(gè)值 C函數(shù)在被調(diào)用之前必須先聲明 D函數(shù)不能自己調(diào)用自己 12以下關(guān)于類和對(duì)象的表達(dá)中,錯(cuò)誤的選項(xiàng)是 A一個(gè)類只能有一個(gè)對(duì)象 B對(duì)象是類的具體實(shí)例 C類是對(duì)某一類對(duì)象的抽象 D類和對(duì)象的關(guān)系是一種數(shù)據(jù)類型與變量的關(guān)系 13在 C+中,用于實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的是 A內(nèi)聯(lián)函數(shù) B重載函數(shù) C模板函數(shù) D虛函數(shù) 14以下關(guān)于運(yùn)算符重載的表達(dá)中,正確的選項(xiàng)是 A通過(guò)運(yùn)算符重載,可以定義新的運(yùn)算符 B有的運(yùn)算符只能作為成員函數(shù)重載 C假設(shè)重載運(yùn)算符+,那么相應(yīng)的運(yùn)算符函數(shù)名是+
2、 D重載一個(gè)二元運(yùn)算符時(shí),必須聲明兩個(gè)形參 15以下關(guān)于模板的表達(dá)中,錯(cuò)誤的選項(xiàng)是 A模板聲明中的第一個(gè)符號(hào)總是關(guān)鍵字 template B在模板聲明中用括起來(lái)的局部是模板的形參表 C類模板不能有數(shù)據(jù)成員 D在一定條件下函數(shù)模板的實(shí)參可以省略 16對(duì)于語(yǔ)句 coutendlx;中的各個(gè)組成局部,以下表達(dá)中錯(cuò)誤的選項(xiàng)是Acout是一個(gè)輸出流對(duì)象 Bendl的作用是輸出回車換行 Cx是一個(gè)變量 D稱作提取運(yùn)算符 17以下字符串中,正確的 C+標(biāo)識(shí)符是 Afoo-1 B2b Cnew D_256 18枚舉類型定義語(yǔ)句為: enum TokenNAME,NUMBER,PLUS=5,MINUS,PRIN
3、T=10; 那么以下表達(dá)中錯(cuò)誤的選項(xiàng)是 A枚舉常量 NAME 的值為 1 B枚舉常量 NUMBER 的值為 1 C枚舉常量 MINUS 的值為 6 D枚舉常量 PRINT 的值為 10 19執(zhí)行語(yǔ)句序列 int i=0;while(i25)i+=3;couti; 輸出結(jié)果是 A24 B25 C27 D28 20要定義一個(gè)具有 5 個(gè)元素的一維數(shù)組 vect,并使其各元素的初值依次是 30,50,-88,0 和 0,那么以下定義語(yǔ)句中錯(cuò)誤的選項(xiàng)是 Aint vect=30,50,-88; Bint vect=30,50,-88,0,0; Cint vect5=30,50,-88; Dint ve
4、ct5=30,50,-88,0,0;21有如下程序: #include void fun(int& x,int y)int t=x;x=y;y=t; int main() int a2=23,42; fun(a1,a0); std:couta0,a1std:endl; return 0; 執(zhí)行后的輸出結(jié)果是A42,42 B23,23 C23,42 D42,23 22有如下類聲明: class Foo int bar; ; 那么 Foo 類的成員 bar 是 A公有數(shù)據(jù)成員 B公有成員函數(shù) C私有數(shù)據(jù)成員 D私有成員函數(shù) 23有如下類聲明: class MyBASE int k; public:
5、 void set(int n)k=n; int get()constreturn k; ; class MyDERIVED:protected MyBASE protected: int j; public: void set(int m,int n)MyBASE:set(m);j=n; int get()constreturn MyBASE:get()+j; ; 那么類 MyDERIVED 中保護(hù)的數(shù)據(jù)成員和成員函數(shù)的個(gè)數(shù)是 A4 B3C2 D1 24在一個(gè)類體中包含如下函數(shù)原型:VOLUME operator-(VOLUME)const;,以下關(guān)于這個(gè)函數(shù)的表達(dá)中,錯(cuò)誤的是 A這是運(yùn)算符
6、-的重載運(yùn)算符函數(shù) B這個(gè)函數(shù)所重載的運(yùn)算符是一個(gè)一元運(yùn)算符 C這是一個(gè)成員函數(shù) D這個(gè)函數(shù)不改變類的任何數(shù)據(jù)成員的值 25有如下函數(shù)模板定義: template T func(T x,T y) return x*x+y*y; 在以下對(duì) func 的調(diào)用中,錯(cuò)誤的選項(xiàng)是 Afunc(3,5); Bfunc(3.0,5.5); Cfunc(3,5.5); Dfunc(3,5.5); 27在以下函數(shù)原型中,可以作為類 AA 構(gòu)造函數(shù)的是 Avoid AA(int); Bint AA(); CAA(int)const; DAA(int); 28以下關(guān)于 this 指針的表達(dá)中,正確的選項(xiàng)是A任何與類
7、相關(guān)的函數(shù)都有 this 指針 B類的成員函數(shù)都有 this 指針 C類的友元函數(shù)都有 this 指針 D類的非靜態(tài)成員函數(shù)才有 this 指針 29有如下程序: #include using namespace std; class Test public: Test() n+=2; Test() n-=3; static int getNum() return n; private: static int n; ; int Test:n=1; int main() Test* p=new Test; delete p; coutn=Test:getNum()endl; return 0;
8、執(zhí)行后的輸出結(jié)果是 An=0 Bn=l Cn=2 Dn=3 30有如下程序: #include using namespace std; class A public: A()coutA; ; classBpublic:B()coutB; classC:public A B b; public: C()coutC; ; int main() C obj; return 0; 執(zhí)行后的輸出結(jié)果是 ACBA BBAC CACB DABC31有如下類聲明: class XA int x; public: XA(int n)x=n; ; class XB:public XA int y; public
9、: XB(int a,int b); ; 在構(gòu)造函數(shù) XB 的以下定義中,正確的選項(xiàng)是 XB:XB(int a,int b):x(a),y(b) BXB:XB(int a,int b):XA(a),y(b)CXB:XB(int a,int b):x(a),XB(b) DXB:XB(int a,int b):XA(a),XB(b) 32有如下程序: #include using namespace std; class BASE public: BASE()coutBASE; ; class DERIVED:public BASE public: DERIVED()coutDERIVED; ;
10、int main()DERIVED x;return 0; 執(zhí)行后的輸出結(jié)果是 ABASE BDERIVED CBASEDERIVED DDERIVEDBASE33在表達(dá)式 x+y*z 中,+是作為成員函數(shù)重載的運(yùn)算符,*是作為非成員函數(shù)重載的運(yùn)算符。以下表達(dá)中正確的是 Aoperator+有兩個(gè)參數(shù),operator*有兩個(gè)參數(shù) Boperator+有兩個(gè)參數(shù),operator*有一個(gè)參數(shù) Coperator+有一個(gè)參數(shù),operator*有兩個(gè)參數(shù) Doperator+有一個(gè)參數(shù),operator*有一個(gè)參數(shù) 34下面關(guān)于 C+流的表達(dá)中,正確的選項(xiàng)是 Acin 是一個(gè)輸入流對(duì)象 B可以用
11、 ifstream 定義一個(gè)輸出流對(duì)象 C執(zhí)行語(yǔ)句序列 char *y=PQMN; couty; 將輸出字符串PQMN的地址 D執(zhí)行語(yǔ)句序列 char x80;cin.getline(x,80); 時(shí),假設(shè)鍵入 Happy new year 那么 x 中的字符串是Happy35有如下程序: #include using namespace std; class AA int n; public: AA(int k):n(k) int get()return n; int get()constreturn n+1; ; int main() AA a(5); const AA b(6); cou
12、ta.get()b.get(); return 0; 執(zhí)行后的輸出結(jié)果是 A55 B57 C75 D776以下函數(shù)的功能是判斷字符串 str 是否對(duì)稱,對(duì)稱那么返回 true,否那么返回 false。請(qǐng)?jiān)跈M線處填上適當(dāng)內(nèi)容,實(shí)現(xiàn)該函數(shù)。 bool fun(char *str) int i=0,j=0; while(strj) _; for(j-;ij & stri=strj;i+,j-); return i _ j; 7執(zhí)行語(yǔ)句序列 int x=l0,&r=x; coutx-rendl; 輸出結(jié)果為_。 8以下程序的輸出結(jié)果為 Object id=0 Object id=l 請(qǐng)將程序補(bǔ)充完整。
13、#include using namespace std; class Point public: Point(int xx=0,int yy=0) X=xx;Y=yy;countP+; Point()countP-; int GetX()return X; int GetY()return Y; static void GetC()coutObject idcountPendl; private: int X,Y; static int countP; ; _ /靜態(tài)數(shù)據(jù)成員的初始化 int main() Point:GetC(); Point A(4,5); A.GetC(); retur
14、n 0; 9非成員函數(shù)應(yīng)聲明為類的_函數(shù)才能訪問(wèn)這個(gè)類的 private 成員。 10派生類中的成員不能直接訪問(wèn)基類中的_成員。 11以下程序的輸出結(jié)果為 2,請(qǐng)將程序補(bǔ)充完整。 #include using namespace std; class Base public: _void fun()cout1; ; class Derived:public Base public: void fun()coutfun(); delete p; return 0; 12請(qǐng)將以下類定義補(bǔ)充完整。 class Basepublic: void fun()coutBase:funendl; class
15、 Derived:public Base public: void fun() _ /顯式調(diào)用基類的 fun 函數(shù) coutDerived:fun= 8int Point:countP=0; 9友元 10私有或 private 11virtual 12Base:fun( ); 6.411以下關(guān)于 C+函數(shù)的說(shuō)明中,正確的選項(xiàng)是 A內(nèi)聯(lián)函數(shù)就是定義在另一個(gè)函數(shù)體內(nèi)部的函數(shù) B函數(shù)體的最后一條語(yǔ)句必須是 return 語(yǔ)句 C標(biāo)準(zhǔn) C+要求在調(diào)用一個(gè)函數(shù)之前,必須先聲明其原型 D編譯器會(huì)根據(jù)函數(shù)的返回值類型和參數(shù)表來(lái)區(qū)分函數(shù)的不同重載形式 13以下關(guān)于虛函數(shù)的說(shuō)明中,正確的選項(xiàng)是 A從虛基類繼承的
16、函數(shù)都是虛函數(shù) B虛函數(shù)不得是靜態(tài)成員函數(shù) C只能通過(guò)指針或引用調(diào)用虛函數(shù) D抽象類中的成員函數(shù)都是虛函數(shù) 14運(yùn)算符重載是對(duì)已有的運(yùn)算符賦予多重含義,因此 A可以對(duì)根本類型如 int 類型的數(shù)據(jù),重新定義“+運(yùn)算符的含義 B可以改變一個(gè)已有運(yùn)算符的優(yōu)先級(jí)和操作數(shù)個(gè)數(shù) C只能重載 C+中已經(jīng)有的運(yùn)算符,不能定義新運(yùn)算符 DC+中已經(jīng)有的所有運(yùn)算符都可以重載 15模板對(duì)類型的參數(shù)化提供了很好的支持,因此 A類模板的主要作用是生成抽象類 B類模板實(shí)例化時(shí),編譯器將根據(jù)給出的模板實(shí)參生成一個(gè)類 C在類模板中的數(shù)據(jù)成員都具有同樣類型 D類模板中的成員函數(shù)都沒有返回值18以下語(yǔ)句中,錯(cuò)誤的選項(xiàng)是 Aco
17、nst int buffer=256; Bconst int temp; Cconst double *point; Dconst double *rt=new double(5.5); 20有如下程序: #include using namespace std; int main() int *p; *p = 9; cout The value at p: *p; return 0; 編譯運(yùn)行程序?qū)⒊霈F(xiàn)的情況是 編譯時(shí)出現(xiàn)語(yǔ)法錯(cuò)誤,不能生成可執(zhí)行文件運(yùn)行時(shí)一定輸出:The value at p:9C運(yùn)行時(shí)一定輸出:The value at p:*9 D運(yùn)行時(shí)有可能出錯(cuò) 21有如下程序: #i
18、nclude using namespace std; int main() void function(double val); double val; function(val); coutval; return 0; void function(double val) val = 3; 編譯運(yùn)行這個(gè)程序?qū)⒊霈F(xiàn)的情況是 A編譯出錯(cuò),無(wú)法運(yùn)行 B輸出:3 C輸出:3.0 D輸出一個(gè)不確定的數(shù)22有如下類定義: class AA int a; public: int getRef()const return &a; / int getValue()const return a; / void
19、set(int n)const a=n; / friend void show(AA aa)const couta; / ; 其中的四個(gè)函數(shù)定義中正確的選項(xiàng)是 A B C D23有如下程序: #include using namespace std; class Base public: void fun() coutBase:funendl; ; class Derived : public Base public: void fun() _ coutDerived:funfun(); Dfun(); 24下面是重載為非成員函數(shù)的運(yùn)算符函數(shù)原型,其中錯(cuò)誤的選項(xiàng)是 AFraction oper
20、ator + (Fraction, Fraction); BFraction operator - (Fraction); CFraction& operator = (Fraction&, Fraction); DFraction& operator += (Fraction&, Fraction); 25有如下函數(shù)模板: template T cast(U u) return u; 其功能是將 U 類型數(shù)據(jù)轉(zhuǎn)換為 T 類型數(shù)據(jù)。 i 為 int 型變量,以下對(duì)模板函數(shù) cast 的調(diào)用中正確的選項(xiàng)是 Acast(i); Bcast(i); Ccast(i); Dcast(i);26假設(shè)磁盤
21、上已存在某個(gè)文本文件,其全路徑文件名為 d:ncretest.txt,以下語(yǔ)句中不能翻開該文件的是 Aifstream file(d:ncretest.txt); Bifstream file(d:ncretest.txt); Cifstream file; file.open(d:ncretest.txt); Difstream* pFile = new ifstream(d:ncretest.txt); 27有如下類定義: class Foo public: Foo(int v) : value(v) / Foo() / private: Foo() / int value = 0; /
22、; 其中存在語(yǔ)法錯(cuò)誤的行是 A B C D28有如下類定義: class Point int x_, y_; public: Point(): x_(0), y_(0) Point(int x, int y =0): x_(x), y_(y) ; 假設(shè)執(zhí)行語(yǔ)句 Point a(2), b3, *c4; 那么 Point 類的構(gòu)造函數(shù)被調(diào)用的次數(shù)是 A2 次 B3 次 C4 次 D5 次29有如下類定義: class Test public: Test() a = 0; c = 0; / int f(int a) const this-a = a; / static int g () retur
23、n a; / void h(int b) Test:b = b; ; / private: int a; static int b; const int c; ; int Test:b = 0; 在標(biāo)注號(hào)碼的行中,能被正確編譯的是 A B C D30有如下程序: #include using namespace std; class A public: A() cout A; A() cout A; ; class B : public A A* p; public: B() cout B; p = new A(); B() cout B; delete p; ; int main() B o
24、bj; return 0; 執(zhí)行這個(gè)程序的輸出結(jié)果是 ABAAABA BABABAA CBAABAA DABA ABA 32有如下程序: #include using namespace std; class Base public: void fun1() cout Basen; virtual void fun2() cout Basen; ; class Derived : public Base public: void fun1() cout Derivedn; void fun2() cout Derivedn; ; void f(Base& b) b.fun1(); b.fun2
25、(); int main() Derived obj; f(obj); return 0; 執(zhí)行這個(gè)程序的輸出結(jié)果是 A B Base Base Base Derived C D Derived Derived Base Derived 33有如下程序: #include using namespace std; class Complex double re, im; public: Complex(double r, double i) : re(r), im(i) double real() const return re; double image() const return im;
26、 Complex& operator += (Complex a) re += a.re; im += a.im; return *this; ; ostream& operator (ostream& s, const Complex& z) return s(z.real(),z.image(); int main() Complex x(1,-2), y(2,3); cout (x+=y) endl; return 0; 執(zhí)行這個(gè)程序的輸出結(jié)果是 A(1,-2) B(2,3) C(3,5) D(3,1)35有如下類聲明: class SAMPLE int n; public: SAMPL
27、E(int i=0):n(i) void setValue(int n0); ; 以下關(guān)于 getValue 成員函數(shù)的實(shí)現(xiàn)中,正確的選項(xiàng)是 SAMPLE:setValue(int n0) n=n0;Bvoid SAMPLE:setValue(int n0) n=n0; Cvoid setValue(int n0) n=n0; D(int n0) n=n0;6有一種只在循環(huán)語(yǔ)句或 switch 語(yǔ)句中使用的流程控制語(yǔ)句,表示該語(yǔ)句的關(guān)鍵字是_。 7程序中有如下語(yǔ)句 for(int i=0; i5; i+) cout*(p+i),; 能夠依次輸出 int 型一維數(shù)組 DATA 的前 5 個(gè)元素。
28、由此可知,變量 p 的定義及初始化語(yǔ)句是_。 8假設(shè)下面程序運(yùn)行時(shí)輸出結(jié)果為 1,A,10.1 2,B,3.5 請(qǐng)將程序補(bǔ)充完整。 #include using namespace std; int main() void test(int, char, double _ ); test(1, A, 10.1 ); test(2, B); return 0; void test(int a, char b, double c) couta,b,cendl; 9有如下類聲明: class MyClass int i; private: int j; protected: int k; publi
29、c: int m, n; ; 其中,私有成員的數(shù)量為_。10有如下程序: #include using namespace std; class Con char ID; public: Con(): ID(A) cout1; Con(char ID): ID(ID) cout2; Con(Con& c): ID(c.getID() cout3; char getID()const return ID; ; void show(Con c) coutc.getID(); int main() Con c1; show(c1); Con c2(B); show(c2); return 0; 執(zhí)行
30、上面程序的輸出是_。11有如下程序: #include using namespace std; class ONE public: virtual void f() cout 1; ; class TWO : public ONE public: TWO() cout 2; ; class THREE : public TWO public: virtual void f() TWO:f(); cout f(); return 0; 執(zhí)行上面程序的輸出是_。12有如下程序: #include using namespace std; class PARENT public: PARENT()
31、 cout PARENT; ; class SON : public PARENT public: SON() cout SON; ; int main() SON son; PARENT *p; p = &son; return 0; 執(zhí)行上面程序的輸出是_。14下面是復(fù)數(shù)類 complex 的定義,其中重載的運(yùn)算符“+的功能是返回一個(gè)新的復(fù)數(shù)對(duì)象,其實(shí)部等于兩個(gè)操作對(duì)象實(shí)部之和,其虛部等于兩個(gè)操作對(duì)象虛部之和;請(qǐng)補(bǔ)充完整: class complex double real; /實(shí)部 double imag; /虛部 public: complex( double r, double i)
32、:real(r),imag(i) complex operator + (complex a) return complex(_ ); ;15一個(gè)函數(shù)模板定義為 template T1 FUN(T2 n) return n*5.0; 假設(shè)要求以 int 型數(shù)據(jù) 7 為函數(shù)實(shí)參調(diào)用該模板函數(shù),并返回一個(gè) double 型數(shù)據(jù),那么該調(diào)用應(yīng)表示為_。 一、選擇題 11C 13B 14C 15B 18B 20D 21D 22B 23B 24C 25D 26A 27D 28C 29D 30B 32B 33D 35B 二、填空題 6break 7int *p=DATA 8=3.5 92 1013A23B
33、 112213 12PARENTSON 14【14】real+a.real,imag+a.imag 15【15】FUN(7) 或 FUN(7) 三、完善程序1. 用指針和數(shù)組來(lái)顯示Fibonacci數(shù)列。#include using namespace std;int main()int i,fibon10=0,1,1,2,3,5,8,12,21,34,*pfib1,*pfib2;pfib1=pfib2=_;cout使用數(shù)組顯示Fibonacci數(shù)列endl;for(i=0;i10;i+)coutfibonit_endl;cout使用指針顯示Fibonacci數(shù)列endl;for(i=0;i1
34、0;i+)cout*(fibon+i)t_endl;cout顯示指針相減,應(yīng)為數(shù)組長(zhǎng)度:;coutpfib2-pfib1endl;return 0;2. 定義一個(gè)矩形類Rectangle,數(shù)據(jù)成員有:長(zhǎng)a,寬b,均為整型,私有訪問(wèn)權(quán)限。對(duì)其操作有:輸入操作、計(jì)算周長(zhǎng)perimeter、計(jì)算面積和輸出操作。class Rectangleint a,b; public:void input(); void perimeter(); void area(); void output();s1; _ input() /成員函數(shù)中訪問(wèn)類中的數(shù)據(jù)成員coutab;void Rectangle:perime
35、ter()/注意類名不可省cout其周長(zhǎng)為:(a+b)*2endl;void Rectangle:area() cout其面積為:a*bendl;void Rectangle:output()perimeter();/在成員函數(shù)中可以調(diào)用其他成員函數(shù)_void main()s1.input();s1.output();3. 用有參構(gòu)造函數(shù)來(lái)完成學(xué)生類的編寫。#includeusing namespace std;class studentprivate:char m_num5;float m_score;public:student(char num5, float score);void o
36、utput();student:student(char num5, float score) _m_score=score;void student:output()coutm_num m_name m_scoreendl;void main()_ /創(chuàng)立類對(duì)象,學(xué)號(hào)330105002,分?jǐn)?shù)80s1.output();4. 完成商品類對(duì)象的應(yīng)用實(shí)例。#include#includeusing namespace std;class CGoodsprivate:char Name21;int Amount;float Price;float Total_value;public:CGoods(
37、);/無(wú)參構(gòu)造函數(shù)CGoods(char ,int,float);/*有參構(gòu)造函數(shù),參數(shù)個(gè)數(shù)為3*/void CountTotal(void);/*函數(shù)聲明時(shí),形參中可以只有返回類型*/float GetTotal_value(void);CGoods:CGoods()Name0=0;Price=0.0;Amount=0;Total_value=0.0;CGoods:CGoods(char name,int amount,float price) _Price=price;Amount=amount;Total_value=price*amount;void CGoods:CountTotal
38、()Total_value=_;float CGoods:GetTotal_value()_int main()CGoods Car1(夏利,30,98000.0);coutsetw(10)Car1.GetPrice()setw(20)Car1.GetTotal_value()endl;return 0;5. 打印楊輝三角形,要求使用類及多文件結(jié)構(gòu)實(shí)現(xiàn)。/*頭文件:yang.h*/class yang int a2020; int n;public: yang(int l=10); void show();/*源文件:yang.cpp*/#include #include _using nam
39、espace std;yang:yang(int l)int i,j;n=l=10?l:10;for(i=0;in;i+)for(j=0;j=i;j+)if(_)aij=1;else _void yang:show()int i,j,k;for(i=0;i=0;k-)cout ;for(j=0;j=i;j+)coutsetw(6)aij;coutendl;/*源文件:test.cpp*/#include#includeyang.husing namespace std;void main()int i;yang s4;for(i=0;i4;i+) si=_(i+3);si.show();6.
40、1使用指針作為函數(shù)參數(shù)交換兩個(gè)變量的值。#includeusing namespace std;void change(int *p1,int *p2)/*以指針作為形參*/int t;t=*p1;_*p2=t;void main()int x=100,y=40;cout交換前的值為endl;coutx yendl;_cout交換后的值為endl;coutx yendl;2使用引用作為形參交換兩個(gè)變量的值。#includeusing namespace std;void change(int &s,int &d) int t;t=s;s=d;d=t;void main()int x=100,y
41、=40;cout交換前的值為endl;coutx yendl;_cout交換后的值為endl;coutx yendl;7. 從鍵盤上輸入字符,寫入文件f1.txt中,0表示輸入結(jié)束。void main()ofstream ofile;char ch;int i=0;ofile.open(e:f1.txt);doch=cin.get();ofilesetw(3)ch;i+;if (i=10) ofileendl;i=0;while(ch!=0);ofile.close();翻開文件f1.txt,讀出其內(nèi)容,在屏幕上輸出。void main()ifstream ifile;char ch;ifil
42、e.open(e:f1.txt);while(ifile.get(ch)coutch;coutendl;ifile.close();8. 構(gòu)造CPU類與Computer類,具體成員如右圖所示:class CPU char cputype20; float cpuprice;public:CPU(char a_cputype=惠普,float a_cpuprice=234);CPU(const CPU &a);void show();CPU();class ComputerCPU k;char Manufacturer20;float Price;public:Computer(char k_M
43、anufacturer=達(dá)利園,floatk_Price=123,char k_cputype=聯(lián),floatk_cpuprice=7788):_strcpy( Manufacturer,k_Manufacturer);Price=k_Price;void print()cout制造商是: Manufacturerendl;cout電腦價(jià)格是:Priceendl;_;Computer()coutPrice被析構(gòu)了endl;CPU:CPU(char a_cputype,float a_cpuprice)strcpy(cputype,a_cputype);cpuprice=a_cpuprice;C
44、PU:CPU(const CPU &a)_cpuprice=a.cpuprice+100;void CPU:show()coutCPU的類型:cputypeendl;coutCPU的價(jià)格:cpupriceendl;CPU:CPU()coutcputype被析構(gòu)了endl;void main()Computer s;s.print();9. 定義復(fù)數(shù)類,通過(guò)重載+運(yùn)算符進(jìn)行復(fù)數(shù)類對(duì)象間的算術(shù)運(yùn)算。class complex double real,image;public: complex(double r=0,double i=0); complex operator+(const compl
45、ex &a); void show();complex:complex(double r,double i) real=r;_complex complex:operator+(const complex &a) complex temp; temp.real=_; temp.image=image+a.image; return _;void complex:show()coutreal+imageiendl;void main()complex s1(1,1);s1.show();complex s2(2,2);s2.show();complex s3=s1+s2;s3.show();10
46、. 掌握友元函數(shù)的用法,友元函數(shù)與成員函數(shù)的區(qū)別。重載插入運(yùn)算符“,實(shí)現(xiàn)功能類似于成員函數(shù)print。class complexdouble real,image;public:complex(double r=1.0,double i=1.0)real=r;image=i;complex & operator+(complex &a);/*形參只有一個(gè)*/friend complex & operator+(double &a,complex &b);friend complex & operator+(complex &a,double &b);_(ostream &s,complex &
47、a) /重載運(yùn)算符sa.real+a.imageiendl;return s;complex &complex:operator+(complex &a)return complex(_);complex &operator+(double &a,complex &b) return complex(a+b.real,a+b.image);complex &operator+(complex &a,double &b)return complex(a.real+b,a.image+b);void main()double s=4.0;complex c(2.0,2.0),c1,x;x=c+c1
48、;coutx;/*使用友元可以直接寫cout、,不需再調(diào)用*/x=s+c;coutx;x=c1+s;coutx;11. 模板定義求字符串及類對(duì)象的最值的函數(shù)。using namespace std;template T getmax(T a,int size)int i;T m=a0;for(i=1;im)m=ai;return m;class studentprivate:string num;float score;public:student(string nu=21001,float s_score=90)num=nu;score=s_score;bool operator(const
49、 student &s)return scores.score?true:false;friend ostream & operator(ostream &s,student &stu)return sstu.numtstu.score(istream &i,student &stu)cout請(qǐng)輸入學(xué)生的學(xué)號(hào)和分?jǐn)?shù):stu.numstu.score;void main()student stu5;for(int i=0;istui;coutgetmax(stu,5)endl;12.排序模板#include #include #include using namespace std;class
50、studentprivate:string num;string name;public:student(string nu=001,string na=);void setdata(string nu,string na);bool operator(const student &s)return nums.num?true:false;friend ostream & operator(ostream &s,student &stu);student:student(string nu,string na)num=nu;name=na;void student:setdata(string
51、 nu,string na)num=nu;name=na;ostream & operator(ostream &s,student &stu)return endl;template void BubbleSort(T a,int n)int i,j;T temp;for(i=0;in-1;i+) /輪數(shù)for(j=0;jaj+1) /ajaj+1 大于重載,如果改為aj+1aj是否正確?temp=aj;aj=aj+1;aj+1=temp;template void print(T a,int n)for(int i=0;in;i+)coutsetw(8)a
52、i;coutendl;void main()/*int a10=2,13,4,35,6,47,24,657,20,9;print(a,10);BubbleSort(a,10);float b5=2.4,3.1,1.3,23.6,12.9;BubbleSort(b,5);print(b,5); */string num5=101,012,203,404,415;string name5=張三,李四,王五,趙六,丁七;student stu5;for(int i=0;i運(yùn)算符重載print(stu,5);13.動(dòng)態(tài)內(nèi)存分配完成類中聲明的各函數(shù)定義,并在主函數(shù)中測(cè)試。template class A
53、rT *par;public:Ar(int n);/動(dòng)態(tài)申請(qǐng)n個(gè)T類型的數(shù)組元素空間void input(int n); /輸入n個(gè)數(shù)據(jù)void display(int n);/輸出數(shù)組中n個(gè)元素Ar();/撤消數(shù)組空間;參考代碼:#includeusing namespace std;template class ArrayT *parray;public:Array(int n);/動(dòng)態(tài)申請(qǐng)n個(gè)T類型的數(shù)組元素空間void input(int n); /輸入n個(gè)數(shù)據(jù)void display(int n);/輸出數(shù)組中n個(gè)元素Array();/撤消數(shù)組空間;template Array:Array(int n)parray=new intn;template void Array:input(int n)int i;int *q;q=parray;for(i=0;i*q;template void Array:display(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 斯美防務(wù)合作協(xié)議
- 2025年度個(gè)人商鋪出租信息發(fā)布合同2篇
- 2025版新能源發(fā)電線路建設(shè)項(xiàng)目合同書3篇
- 2025版文化遺址物業(yè)保護(hù)及轉(zhuǎn)讓合同范本匯編3篇
- 2025版外架班組勞務(wù)分包及技術(shù)創(chuàng)新合同3篇
- 2024年全國(guó)營(yíng)養(yǎng)師技能大賽江蘇省賽考試題庫(kù)(附答案) (二)
- 2025年全球及中國(guó)漸變折射率多模光纖行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2024年教育公共基礎(chǔ)知識(shí)筆記
- 2025版新型環(huán)保砂石料生產(chǎn)及銷售合作協(xié)議3篇
- 2025年度個(gè)人私有房屋購(gòu)買合同(家居定制服務(wù)版)3篇
- 垃圾處理廠工程施工組織設(shè)計(jì)
- 天皰瘡患者護(hù)理
- 機(jī)電一體化系統(tǒng)設(shè)計(jì)-第5章-特性分析
- 2025年高考物理復(fù)習(xí)壓軸題:電磁感應(yīng)綜合問(wèn)題(原卷版)
- 雨棚鋼結(jié)構(gòu)施工組織設(shè)計(jì)正式版
- 2025年蛇年新年金蛇賀歲金蛇狂舞春添彩玉樹臨風(fēng)福滿門模板
- 《建筑制圖及陰影透視(第2版)》課件 4-直線的投影
- 2024-2030年中國(guó)IVD(體外診斷)測(cè)試行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 碎紙機(jī)設(shè)計(jì)說(shuō)明書
- 湖南省長(zhǎng)沙市青竹湖湘一外國(guó)語(yǔ)學(xué)校2021-2022學(xué)年八年級(jí)下學(xué)期期中語(yǔ)文試題
- 2024年股權(quán)代持協(xié)議經(jīng)典版(3篇)
評(píng)論
0/150
提交評(píng)論