




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C+鈉言程序設計作業(yè)題C+鋸言程序設計作業(yè)題一、判斷題()1、寫在類體內(nèi)的函數(shù)都就是內(nèi)聯(lián)函數(shù)。()2、通常的拷貝初始化構(gòu)造函數(shù)的參數(shù)就是某個對象的指針名。()3、重載運算符可改變原運算符的優(yōu)先級與結(jié)合性。()4、在設置了默認參數(shù)值后,調(diào)用函數(shù)的對應實參就必須省略。()5、析構(gòu)函數(shù)就是一種函數(shù)體為空的成員函數(shù)。()6、某類的友元類的所有成員函數(shù)可以存取或修改該類中的私有成員。()7、對象數(shù)組的元素可以就是不同類的對象。()8、函數(shù)的參數(shù)個數(shù)、類型及位置都相同,只就是函數(shù)返回值類型不同,這不就 是重載函數(shù)。()9、派生類就是從基類派生出來的,但它不能再生成新的派生類。()10、構(gòu)造函數(shù)與析構(gòu)函數(shù)都
2、不能重載。()11、在公有繼承中,基類中只有公有成員對派生類的對象就是可見的。()12、this指針就是一個指向正在被某個成員函數(shù)操作的對象的指針。()13、一維對象指針數(shù)組的每個元素應該就是某個類的對象的地址值。()14、在C+中,定義函數(shù)時必須給出函數(shù)的類型。()15、析構(gòu)函數(shù)就是一種函數(shù)參數(shù)表為空的成員函數(shù)。()16、派生類的繼承方式有兩種:公有繼承與私有繼承。()17、自身類對象的引用不可以作為該類的成員。()18、多重繼承情況下,派生類中對基類成員的訪問不會出現(xiàn)二義性。()19、可以在類的構(gòu)造函數(shù)中對靜態(tài)數(shù)據(jù)成員進行初始化。()20、多重繼承情況下,派生類的構(gòu)造函數(shù)的執(zhí)行順序取決于定
3、義派生類時所指 定的各基類的順序。()21、在單繼承情況下,派生類中對基類成員的訪問不會出現(xiàn)二義性。()22、轉(zhuǎn)換函數(shù)不就是成員函數(shù),它就是用來進行強制類型轉(zhuǎn)換的。()23、在公有繼承中,基類中的保護成員對派生類對象就是可見的。()24、虛基類就是用來解決多繼承中公共基類在派生類中只產(chǎn)生一個基類子對象的問題。()25、在保護繼承中,基類中的公有成員對派生類對象就是可見的。()26、抽象類就是指一些不能定義對象的類。()27、虛函數(shù)就是用virtual關(guān)鍵字說明的成員函數(shù)。()28、動態(tài)聯(lián)編就是在運行時選定所要調(diào)用的成員函數(shù)的。C+鈉言程序設計作業(yè)題()29、聲明派生類時,在派生類的頭部都要明確
4、列出其直接基類與間接基類。()30、在C+中對于運算符重載,只能重載已有的運算符。()31、在程序中可以直接調(diào)用構(gòu)造函數(shù)。()32、解決多繼承情況下出現(xiàn)的二義性的方法之一就是使用作用域運算符。()33、函數(shù)重載就是一種多態(tài)現(xiàn)象,它屬于動態(tài)聯(lián)編。()34、友元函數(shù)、友元類的聲明可以放在類定義中的任何地方。()35、抽象類就是一些不能實例化的類,即不能定義對象的類。()36、const對象不能隨意被修改,但const成員函數(shù)可以修改const對象。()37、拷貝初始化構(gòu)造函數(shù)的參數(shù)只能就是對某個對象的引用。()38、類的公有靜態(tài)成員既可以用類的對象訪問,也可以用作用域運算符通過類 名訪問。()39
5、、拷貝初始化構(gòu)造函數(shù)的參數(shù)可以就是某類的對象名。()40、在類體外定義的函數(shù)若沒有關(guān)健字inline說明,則都就是外聯(lián)函數(shù)。()41、C+中的所有函數(shù)調(diào)用都就是傳引用調(diào)用。()42、析構(gòu)函數(shù)說明為虛函數(shù)就是沒有意義的。()43、派生類的構(gòu)造函數(shù)的成員初始化列表中可以包含基類的子對象初始化。()44、構(gòu)造函數(shù)說明為虛函數(shù)就是沒有意義的。()45、對每個可重載的運算符來說,它既可以重載為友元函數(shù),又可以重載為成 員函數(shù),還可以重載為非成員函數(shù)。()46、C+中的所有函數(shù)調(diào)用都就是傳值調(diào)用。()47、使用關(guān)鍵字class定義的類中,缺省的訪問權(quán)限就是公有(public)的。()48、使用關(guān)鍵字cla
6、ss定義的類中 缺省的訪問權(quán)限就是私有(private)的。()49、如果一個成員函數(shù)只存取類的靜態(tài)數(shù)據(jù)成員,則可將該成員函數(shù)說明為靜 態(tài)成員函數(shù)。()50、說明與定義類的對象時,類名前面不需要加class關(guān)鍵字。、填空1、如果一個函數(shù)沒有返回值,定義時需用類型說明符 說明。2、通常的拷貝初始化構(gòu)造函數(shù)的參數(shù)就是 o3、對象成員的表示與結(jié)構(gòu)體成員的表示相同,使用運算符或。4、已知:p就是一個指向類A數(shù)據(jù)成員m的指針,a1就是類A的一個對象,如果 要給對象a1的數(shù)據(jù)成員m賦值為5,應娥值。5、C+中,繼承分為單繼承與 ,而繼承方式可分為 o6、任何類中允許有三種類型的成員,它們分別就是 與在C+
7、中用來建立新的數(shù)據(jù)類型。23、定義在類內(nèi)部的函數(shù)為 編譯器會在調(diào)用該函數(shù)處,將函數(shù)代碼的 拷貝在調(diào)用函數(shù)處展開。24、在類定義時如果沒有定義構(gòu)造函數(shù),編譯系統(tǒng)會自動生成一個 。25、類的 成員只能被該類的成員函數(shù)或友元訪問。26、使關(guān)鍵字class定義的類中缺省的訪問權(quán)限就是 。27、一個類中只可能定義 個析構(gòu)函數(shù)。28、當一個類的成員就是另一個類的對象時,該對象稱為。29、靜態(tài)數(shù)據(jù)成員在定義或說明時前面要加上關(guān)鍵字 。30、C+程序必須包含頭文件 后,才能使用輸入輸出流。31、在說明const變量時,必須對該變量 o32、在需要基類對象的任何地方都可以使用 的對象來代替。33、帶有純虛函數(shù)的
8、類就是 oC+鈉言程序設計作業(yè)題34、動態(tài)聯(lián)編可以通過 或引用所標識的對象來操作虛函數(shù)。35、限定符用來聲明只讀變量。36、公有成員函數(shù)的集合稱為類的37、重載不能改變運算符的 0 38、運算符 動態(tài)分配一個對象。39、能夠定義一個在不同數(shù)據(jù)類型基礎上完成同一任務的函數(shù)。40、每個對象都維護了一個指向自身的指針,這個指針稱為指針。41、處于同一層次的各基類構(gòu)造函數(shù)的執(zhí)行順序取決于 所指定的各基類的順序。42、就是用來初始化類的數(shù)據(jù)成員的一種特殊的成員函數(shù)。43、受保護的成員不能被外界引用,但它可以被派生類的 用。44、靜態(tài)聯(lián)編工作就是在 階段完成的。45、在C+中,對虛函數(shù)來說,不能聲明 但可
9、以聲明虛析構(gòu)函數(shù)46、成員函數(shù)的實現(xiàn)中不能直接引用類中說明的非靜態(tài)成員。47、const char *p說明了 p就是指向的指針。48、通常,類的成員函數(shù)的訪問模式就是 數(shù)據(jù)成員的訪問模式就是049、當用受保護的繼承從基類派生一個類時,基類的公有成員成為派生類的成員,基類的受保護成員成為派生類的成員。50、如果一個類包含一個或多個純虛函數(shù),則該類為。三、選擇題1、下列有關(guān)類的說法不正確的就是 o類就是一種用戶自定義的數(shù)據(jù)類型; 只有類中的成員函數(shù)或友元函數(shù)才能存取類中的私有成員;在類中,如果不作特別說明,所有的數(shù)據(jù)均為私有類型;在類中,如果不作特別說明,所有的成員函數(shù)均為公有類型;2、局部變量
10、可以隱藏全局變量,那么在有同名全局變量與局部變量的情形時,可 以用提供對全局變量的訪問。作用域運算符指針運算符提取運算符插入運算符3、類模板的使用實際上就是將類模板實例化成一個具體的 o函數(shù)對象類類的成員4、下列輸出字符d的方法中,就是錯誤的。C+鈉言程序設計作業(yè)題 coutput( d); cout d; cout、put( d); char a= d ; cout”一起,將從鍵盤輸入的數(shù)送到變量中保存起來;使用標準輸入流,必須包含頭文件stdlib、h”;34、 就是構(gòu)造函數(shù)的特征。 構(gòu)造函數(shù)的函數(shù)名與類名不同;一個類中只能定義一個構(gòu)造函數(shù);構(gòu)造函數(shù)可以設置缺省參數(shù);C+鈉言程序設計作業(yè)題
11、構(gòu)造函數(shù)必須指定類型說明;35、C +語言中規(guī)定函數(shù)的返回值的類型就是由 oreturn 語句中的表達式類型所決定;調(diào)用該函數(shù)的主調(diào)用函數(shù)類型決定;調(diào)用該函數(shù)時系統(tǒng)臨時決定; 在定義該函數(shù)時所指定的函數(shù)類型所決定;36、下列對派生類的描述中,就是錯的。一個派生類可以作為另一個派生類的基類;派生類中繼承的基類成員的訪問權(quán)限到派生類保持不變; 派生類的成員除了它自己的成員外,還包含了它的基類的成員;派生類至少有一個基類;37、帶有虛基類的多層派生類構(gòu)造函數(shù)的成員初始化列表中都要列出虛基類的構(gòu)造函數(shù),這樣將對虛基類的子對象初始化 o與虛基類下面的派生類個數(shù)有關(guān);多次;二次;一次;38、關(guān)于繼承中出現(xiàn)
12、的二義性的描述中,就是錯的。一個派生類的兩個基類中都有某個同名成員,在派生類中對這個成員的訪問 可能出現(xiàn)二義性; 解決二義性的最常用的方法就是對成員名的限定法;在單繼承情況下,派生類中對基類成員的訪問也會出現(xiàn)二義性;一個派生類就是從兩個基類派生出來的,而這兩個基類又有一個共同的基類 對該基類成員進行訪問時,也可能出現(xiàn)二義性;39、已知f1()就是類A的公有成員函數(shù),p就是指向成員函數(shù)f1()的指針,采用 就是正確的。 p=f1; p=A:f1; p=A:f1(); p=f1();40、關(guān)于動態(tài)聯(lián)編的下列描述中,就是錯誤的。 動態(tài)聯(lián)編就是以虛函數(shù)為基礎的;動態(tài)聯(lián)編就是在運行時確定所調(diào)用的函數(shù)代碼
13、的;動態(tài)聯(lián)編調(diào)用函數(shù)操作就是用指向?qū)ο蟮闹羔樆驅(qū)ο笠?;動態(tài)聯(lián)編就是在編譯時確定操作函數(shù)的;41、下面就是面向?qū)ο蟪绦蛟O計的特點,而不就是的。多態(tài)性封裝性C+鈉言程序設計作業(yè)題隱藏性繼承性42、關(guān)于成員函數(shù)特征的下述描述中,就是錯誤的。 成員函數(shù)一定就是內(nèi)聯(lián)函數(shù);成員函數(shù)可以重載; 成員函數(shù)可以設置參數(shù)的缺省值; 成員函數(shù)可以就是靜態(tài)的。43、關(guān)于delete運算符的下列描述中,就是錯的。它必須用于new返回的指針;它也適用于空指針; 對一個指針可以使用多次該運算符; 指針名前只用一對方括號,不管所刪除數(shù)組的維數(shù)。44、設置虛基類的目的就是 o 簡化程序; 消除二義性;提高運行效率;減少目標代
14、碼;45、下列運算符中,運算符在C+中不能重載。?:+new=46、下列關(guān)于運算符重載的描述中,就是正確的。運算符重載可以改變運算數(shù)的個數(shù);運算符重載可以改變優(yōu)先級;運算符重載可以改變結(jié)合性;運算符重載不可以改變語法結(jié)構(gòu);47、如果一個類至少有一個純虛函數(shù),那么就稱該類為 o抽象類虛基類派生類以上都不對48、對基類與派生類的關(guān)系描述中,就是錯誤的。派生類就是基類的具體化;派生類就是基類的子集;派生類就是基類定義的延續(xù);派生類就是基類的組合;49、已知:print()函數(shù)就是一個類的常成員函數(shù),它無返回值,下列表示中, 就是正確的。 void print( ) const void const
15、print() const void print() void print(const)C+鈉言程序設計作業(yè)題50、派生類的對象對它的基類成員中,就是可以訪問的。公有繼承的公有成員;公有繼承的私有成員;公有繼承的保護成員;私有繼承的公有成員。四、簡答題1、 什么叫做靜態(tài)成員函數(shù)?它有何特點?2、在繼承體制中,試分析基類中某成員函數(shù)就是虛函數(shù)與不就是虛函數(shù)有何不 同?3、試解釋純虛函數(shù)與函數(shù)體為空的虛函數(shù)的相似及不同之處。4、為什么說C+中的運算符 就是重載的運算符?5、什么就是動態(tài)聯(lián)編?在什么情況下可以實現(xiàn)動態(tài)聯(lián)編?6、拷貝初始化構(gòu)造函數(shù)就是一特殊的成員函數(shù),在什么情況下系統(tǒng)會自動調(diào)用 它?7
16、、多繼承下,可能造成對基類中某個成員訪問的不唯一性,稱為對基類成員訪問 的二義性問題。試舉例說明,多繼承時,在什么情況下會產(chǎn)生二義性?8、如果在類模板的定義中有一個靜態(tài)數(shù)據(jù)成員,則在程序運行中會產(chǎn)生多少個 相應的靜態(tài)變量?9、派生類的對象可以賦給基類對象,反過來行不?為什么?1、 、構(gòu)造函數(shù)可以就是虛函數(shù)不?試說明。五、寫出下列程序的運行結(jié)果2、 #include iostream、hclass A public:A(int i=0) m=i;coutConstructor called 、 mendl;void set(int i) m=i; void print( ) const cout
17、mendl; A( ) coutDestructor called 、 endl; private:int m;C+鈉言程序設計作業(yè)題void fun(const A &c) c、print( );void main() fun(5);Ans:Constructor called、55Destructor called 、3、 #include iostream、h”class A public:A( )a=0; b=0;coutDefault constructor called 、 endl; A(int i, int j) a=i; b=j;coutConstructor: a=a ,b
18、=bendl;-A( ) coutDestructor called 、endl; void set(int i, int j) a=i; b=j; void print( ) couta=a ,b=bendl;private:int a, b;void main( ) A a3;for(int i=0; i3; i+) ai、set(2*i+1,(i+1)*2);ai print( );C+鈉言程序設計作業(yè)題)Ans:Default constructor called、Default constructor called、 Default constructor called 、 a=1
19、,b=2 a=3 ,b=4 a=5 ,b=6 Destructor called 、 Destructor called 、 Destructor called 、4、 #include iostream、h”class B public:B( ) B(int i,int j) a=i, b=j; void printb();private: int a,b;class A public:A( ) A(int i, int j):c(i,j) void printa( );private:B c;void B:printb() couta=a, b=bendl;void A:printa()C
20、+鈉言程序設計作業(yè)題 c、printb( );void main() A ob(7.8); ob、printa();Ans: a=7, b=85、 #include iostream、h”class A public:A(int i,int j) x=i; y=j; friend int fun(A &a);private: int x, y;int fun(A &a) a、x=a、x*a、y; return a x;void main( ) A ob1(4,7),ob2(5,9);coutfun(ob1),fun(ob2)endl;Ans:28,456、 #include iostream
21、hclass A public:A(int i, int j) a=i; b=j; void move(int i, int j) a+=i; b+=j; void disp( )cout(a,b)endl; private:int a, b;C+鈉言程序設計作業(yè)題class B: public A public:B(int i, int j, int k, int l):A(i,j), x(k), y(l) void disp( ) coutx,yendl; void fun( ) move(3,5); private:int x, y;void main( ) A e(1,2);e、dis
22、p();B d(3, 4, 5, 6);d、fun();1、 A:disp( );2、 disp( );Ans:(1,2)(6,9)5,66、 #include iostream 、 hclass A public:void seta(int x) a=x; void showa( ) couta ; private:int a;class B public:void setb(int x) b=x; void showb( ) coutb ; private:int b;C+鈉言程序設計作業(yè)題class C:public A,public B public:void setc(int x,
23、int y, int z) c=z;seta(x);setb(y);void showc( ) showa( );showb( );coutcendl;private:int c;void main( ) C c;c、setc(1,2,3);c、showc();Ans:1 2 37、 #include “iostreamh”class J public:J(int i, int j) a=i*j; display( ); virtual void display( ) cout J:display( ) called aendl; protected:char a;class P1: publ
24、ic J public:P1(int i, int j): J(i, j) p=i+j; display( ) ; C+鈉言程序設計作業(yè)題void display() cout pendl; private:int p;void main( ) P1 ob(14, 7);Ans:J:display( ) called、bP1:display( ) called、21Press any key to continue8、 #include“iostrea mh”class number public:number( ) count+; number( ) count - -; static in
25、t HMS( ) return count; private:static int count;int number二count=20;void main( ) number a1, a2, a3,a4;coutnumber:HMS( ) endl;a1、number();coutnumber:HMS( )endl;Ans:24239、# include class A int a,b;C+鈉言程序設計作業(yè)題public :A() a=b=0; A(int aa,int bb) a=aa; b=bb;cout a bendl;void main()A x,y(2,3),z(4,5);2 34
26、510、#include class FOO public: FOO(int i) coutConstructing n; pointer=new int;*pointer=i;FOO(const FOO& other) coutCopy Constructing 、n; pointer=new int;*pointer=*other、pointer;FOO()coutDestructingn;delete pointer;int get() return *pointer;private: int *pointer;void display(FOO obj) coutobj get()n;
27、return;C+鈉言程序設計作業(yè)題void main()FOO obj1(15);FOO obj2=obj1;display(obj2);)Constructing 、Copy Constructing 、 Copy Constructing 、 15DestructingDestructingDestructing11#includeclass A public:int n;);class B:public A;class C:public A;class D:public B,public Cint getn()return B:n;void main()D d;d、B:n=10;d、C
28、:n=20;coutd B:n,d C:nendl; 10,20 12C+鈉言程序設計作業(yè)題#include class A(private:static int n;int X;public:A(int x=0) X=x; n+; A() n- ; static int GetNum() return n; void print();void A:print() cout n= n , X= Xprint();A a(34);a print();delete p;cout n= A:GetNum() endl;n=1, X=12n=2, X=34n=1Press any key to con
29、tinue13#includeclass Sampleprivate:int i;static int count;public:C+鈉言程序設計作業(yè)題Sample();void display(););Sample:Sample() ( i=0;count+;)void Sample:display( )(couti=i+,count=countendl;)int Sample:count=0;void main( ) (Sample a,b;a、display();b、 display( );)i=0,count=2i=0,count=2Press any key to continue寫
30、出下面程序的輸出結(jié)果。#include class Base1 public:virtual void display() const;);void Base1:display() const cout Base1:display() endl;class Base2: public Base1 public:void display() const;void Base2:display() const cout Base2:display() endl;C+鈉言程序設計作業(yè)題class Derived: public Base2 public:void display() const;);v
31、oid Derived:display() const cout Derived:display() display();void main() Base1 base1;Base2 base2;Derived derived;fun(&base1);fun(&base2);fun(&derived);運行結(jié)果:Base1:display()Base2:display()Derived:display()15.用一句話概括下面程序的功能,并在“/后加上注釋。#includeiostream、h#includefstream、hvoid main()char ch;ifstream myin();if(!myin) /coutcannot open file:;ofstream myout();if(!myout)coutcannot open file:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)餐飲合同范例
- 管理學答辯全攻略
- 《課堂互動教學中電子設備使用的引導與規(guī)范》課件
- 商業(yè)住房借貸合同范本
- 入學申請書模板范文初中
- 合同范本材料
- 合同范本發(fā)布通知
- 農(nóng)村建房子的申請書
- 回收手機抵押合同范本
- 土地確權(quán)房屋租賃合同范本
- YY/T 1860.1-2024無源外科植入物植入物涂層第1部分:通用要求
- 中央2025年全國婦聯(lián)所屬在京事業(yè)單位招聘93人筆試歷年參考題庫附帶答案詳解
- 人教版高中物理選擇性必修第二冊電磁波的發(fā)射與接收課件
- 《建筑冷熱源》全冊配套最完整課件1
- 廣州2025年廣東廣州市番禺區(qū)小谷圍街道辦事處下屬事業(yè)單位招聘5人筆試歷年參考題庫附帶答案詳解
- 封條模板A4直接打印版
- 微差爆破施工方案
- 同一直線上的二力合成導學案
- 2022年度八年級美術(shù)抽測題庫
- 義務教育《地理》課程標準(2022年版)
- 單細胞蛋白論文
評論
0/150
提交評論