2023年面向?qū)ο蟪绦蛟O計資料整理長大_第1頁
2023年面向?qū)ο蟪绦蛟O計資料整理長大_第2頁
2023年面向?qū)ο蟪绦蛟O計資料整理長大_第3頁
2023年面向?qū)ο蟪绦蛟O計資料整理長大_第4頁
2023年面向?qū)ο蟪绦蛟O計資料整理長大_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

面向?qū)ο蟪绦蛟O計復習資料(2328)一、單項選擇題1.假設P是指針,聲明指針s引用指針p對的方法是()A.int*s&=p?B.int&*s=p C.int*&s=p D.ints*&=p2.在C++中,可認為類的所有成員共享的是()A、枚舉成員B、公有數(shù)據(jù)成員C、私有函數(shù)成員D、公有函數(shù)成員3.C++中,下列哪個關鍵字不能提供封裝。()A、structB、unionC、classD、case4.下而關于類的復制構(gòu)造函數(shù)的說法對的的是()A.一個類只能有一個復制構(gòu)造函數(shù)B.可認為void類型C.不能有返回類型D.不能使用缺省參數(shù)5.下面敘述對的的是:()A.派生類不可以使用私有派生B.保護派生時,基類的保護成員在派生類中是公有的C.對基類成員的訪問可以允許兩義性D.賦值兼容規(guī)則也合用于多重繼承的組合6.定義虛函數(shù)使用關鍵字()A.::B.virtualC.&D.->7.在下面幾項中,運算符在C++中能被重載的是()A.=B.?:C.sizeofD.::A.結(jié)構(gòu)?B.類 C.繼承 D.引用8.在執(zhí)行下面程序語句之后,num的值為()intnum=500;int&ref=num;ref==ref-50;A.450?B.500?9.所有在函數(shù)外面定義的變量,連同形式參數(shù),都屬于()A、局部變量B、全局變量C、靜態(tài)變量D、寄存器變量10.面向?qū)ο蟮某绦蛑?哪項不是對象的特點。()A、多態(tài)性B、抽象性和封裝性C、中斷D、繼承性11.下面在半初始化說法對的的是()A.初始化列表可以初始化任何類B.初始化列表也也可以初始化具有私有成員的類C.初始化列表只能初始化公有數(shù)據(jù)成員D.初始化列表可以初始化所有數(shù)據(jù)成員12.產(chǎn)生編譯時的多態(tài)性的必要條件是使用()A.靜態(tài)成員B.友元函數(shù)C.重載成員函數(shù)D.虛函數(shù)13.operat(yī)or經(jīng)常和C++的一個運算符連用,構(gòu)成一個運算符函數(shù)名.運算符函數(shù)的返回類型不能是()A.voidB.charC.intD.float14.下面是對C++運算符的敘述,對的的敘述是()A.只有類運算符B.只有友元運算符C.同時具有類運算符和友元運算符D.同一個運算符只能重載一次15.在面向?qū)ο蟮脑O計中,一切都是圍繞著什么展開的()A.類 B.結(jié)構(gòu) C.數(shù)據(jù)類型 D.對象16.下面哪項不能算是面向?qū)ο蟪绦蛟O計所具有的顯著特點()A.封裝B.繼承C.抽象D.遞歸17.下面選項中哪一項不是結(jié)構(gòu)和類的共同特性()A.對象可以用作數(shù)組的元素B.在缺省情況下,成員是私有的C.對象之間可以互相賦值D.可以說明指向?qū)ο蟮闹羔樅鸵?8.下面有關類性質(zhì)說法錯誤的是()A.一個類可以有多個構(gòu)造函數(shù),但只有一個析構(gòu)函數(shù)B.析構(gòu)函數(shù)和構(gòu)造函數(shù)都不能有返回類型C.不可以給析構(gòu)函數(shù)指定參數(shù)D.一個類中不可以說明具有類類型的數(shù)據(jù)成員19.下面敘述不對的的是()A.成員的訪問能力取決于派生方式B.基類的私有成員在公有派生類中不可訪問C.對象可以訪問所有成員D.公有基類成員在保護派生中保護的20.成為抽象類的一個條件是這個類()A.至少有一個純虛函數(shù)B.至少有一個虛函數(shù)C.只具有一個純虛函數(shù)D.只具有一個虛函數(shù)21.下列敘述對的的是()A.有1個運算符不能被重載B.有2個運算符不能被重載C.有3個運算符不能被重載D.有4個運算符不能被重載22.在以下選項中,不屬于模板特點的選項是()A.解決數(shù)據(jù)時,解決的是不同類型的相同操作B.聲明不需要給出數(shù)據(jù)類型C.對于相同的數(shù)據(jù)類型產(chǎn)生不同的實例D.對于不同的數(shù)據(jù)類型可以產(chǎn)生不同的實例23.通過什么建立類樹()A.類?B.虛函數(shù)?C.多重繼承?D.單一繼承24.C++使用新的分派動態(tài)內(nèi)存的函數(shù)是()A.malloc()B.free()C.deleteD.new25.以下關于C++對象特點敘述不對的的是()A、對象可以進行四則運算C、對象可以用作數(shù)組的元素C、對象可以用作函數(shù)參數(shù)D、對象之間可以互相賦值26.有關復制構(gòu)造函數(shù)說法錯誤的是()A.復制構(gòu)造函數(shù)不能使用初始化列表B.復制構(gòu)造函數(shù)不能有返回值C.復制構(gòu)造函數(shù)名與類名相同并可以有多個復制構(gòu)造函數(shù)D.復制構(gòu)造函數(shù)的參數(shù)可認為引用對象27.對友元函數(shù)描述對的的是()A.一個類的友元函數(shù)是該類的一個特殊成員函數(shù)B.一個類的友元函數(shù)可以訪問類的所有數(shù)據(jù)成員C.友元函數(shù)只允許訪問該類對象的私有成員D.友元函數(shù)只允許訪問該類的公有成員28.進行文獻操作時需要包含的頭問家是()A.iostream.hB.fstream.hC.stdio.hD.stdlib.h29.下面關于類模板敘述不對的的是()A.聲明類模板“;”號結(jié)束B.不能重載運算符C.可以使用友元函數(shù)D.能使用虛函數(shù)30.系統(tǒng)不會為類自動建立什么成員函數(shù)()A.默認構(gòu)造函數(shù)B.默認析構(gòu)函數(shù) C.默認虛析構(gòu)函數(shù)?D.默認賦值運算賦二、填空題:1.函數(shù)int*func(void)的返回類型是_____.2.C++中,關鍵字用作聯(lián)合.3.關鍵字virtual可以用來聲明類.4.抽象類至少要具有一個,這種函數(shù)屬于虛函數(shù)5.成員函數(shù)“voidprint()const;”是類的函數(shù),它只能被const對象調(diào)用。6.聲明double的轉(zhuǎn)換函數(shù)是。7.模板分為模板和類模板。8.類群是由一些彼此互不相關的組成。9.類的作用于限定符是。10..Base(Base&)是類Base的___函數(shù)的原型聲明,它的等效形式為Base(constBase&)。11.要想取消動態(tài)聯(lián)編,可以使用,它的另一個基本用途是避免兩義性.12.聲明double的轉(zhuǎn)換函數(shù)是。13.根據(jù)類對其成員的規(guī)定,可把類分為模板和無約束模板。14.在面向?qū)ο蟪绦蛟O計時,函數(shù)一定既提供了接口也提供了實現(xiàn)。15.函數(shù)func(int&a)里面使用return;語句,則函數(shù)的返回值類型為__.16.一般使用類中的函數(shù)供類內(nèi)部的成員函數(shù)使用,可以實現(xiàn)更好的封裝性。17.成員名限定的符號是__,它可以在引用成員時避免兩義性.18.對類的構(gòu)造函數(shù)而言,析構(gòu)函數(shù)可認為虛函數(shù),不可認為虛函數(shù).19.指向類成員的指針引入了新的運算符和->*.20.使用友元重載提取符函數(shù)時,它的第2個參數(shù)必需使用形式。21.一個模板聲明可以列出多個參數(shù),多個參數(shù)之間必須使用隔開。20.設計類的基本原則應當是。22.語句int*x=newint(58);使*x.23.假如要為其他對象提供互相作用的接口,可以通時函數(shù)實現(xiàn)。24.空類Empty的聲明形式為。25.只有繼承的情況下,基類的派生類之間才有賦值兼容性規(guī)則。26.產(chǎn)生多態(tài)性規(guī)定類之間的繼承關系滿足。27.使用友元重載提取符函數(shù)時,它的第2個參數(shù)必需使用形式。28.類群是由一些彼此互不相關的組成。三、改錯題1.指出下面程序段中的錯誤。constintR=15;R=3*R;intm=50-R;cout<<m<<endl;2.找出以下程序中的錯誤,并說明因素。#include<iostream.h>classbase{intm,n;public:base(inta,intb):m(b),n(a)voidDisp(){cout<<m<<","<<n<<endl;}};3.找出以下程序中的錯誤,并說明錯在何處。#include<iostream.h>classbase{intm;public:base(inta):m(a){};intGetx(){retumm;}};classderived:privatebase{intn;public:derived(inta,intb):m(a){n=b;};};4.改正下面程序段中的錯誤,使其能對的輸出數(shù)組第五項的內(nèi)容。#include<iostream.h>voidmain(){int*p,a[5]={1,2,3,4,5};p=&a[5];cout<<p<<endl;}5.找出類定義中的錯誤并說明理由。classbase{privat(yī)e:intx,y;voidsetxy(inta,intb)}{x=a;y=b}public:voidshow(base*p){cout<<p->x<<”,”<<p->y;}6.找出以下程序中的錯誤,并說明因素。#include<iosteream.h>classbase{intp;public:base(inta){p=newint(a);}intGetx(){returnm;}~base(){deletep}};7.仔細閱讀下面程序,其中有一個成員函數(shù)定義不對的,找出并改正錯誤。#include<iostream.h>classA{inta;public:A(intm):a(m){}A(A&t):a(t){}};classB:publicA{intb;public:B(intm,intn){a=m;b=n;}};8.指出下面程序中的錯誤。#include<iostream.h>voidmain(){int*pa;int*&pb=pa;intx=386;pb=&x;cout<<*pb<<endl;cout<<*pa<<endl;deletepb;}9.找出下面程序中的錯誤并給出對的的運營結(jié)果。#include<iostream.h>classbase{private:intx,y;public:voidsetxy(inta,intb){x=a;=b}voidshow(base&b){cout<<b.x<<”,”<<b.y;}?};voidmain(){basea;a.setxy(28,59)a.show(&a);}10.下面是使用類A的主函數(shù),改正其中的錯誤。voidmain(){Ap[2]={(newA),(newA)}for(inti=0;i<2;i++)deleteA[i];}11.指出下面程序段中的錯誤。constintR=15;R=3*R;intm=50-R;cout<<m<<endl;12.下面是使用類A的主函數(shù),改正其中的錯誤。voidmain(){Ap[2]={(newA),(newA)}for(inti=0;i<2;i++)deleteA[i];}13.仔細閱讀下面程序,其中有一個成員函數(shù)定義不對的,找出并改正錯誤。#include<iostream.h>classA{inta;public:A(intm):a(m){}A(A&t):a(t){}};classB:publicA{intb;public:B(intm,intn){a=m;b=n;}};14.給出類聲明中的轉(zhuǎn)換函數(shù)的定義。Classnumber{private:intval;public:number(intI){val=I;}operat(yī)orint();};四、完畢程序題1.在下面程序中的下劃線處填上內(nèi)聯(lián)fun函數(shù)的原型聲明、返回類型和調(diào)和調(diào)用語句。#include<iostream.h>voidmain()﹛inta=5;intb=8;cout<<a<<endl;cout<<b<endl;﹜inlinevoidfun(int&m,int&n)﹛inttemp=m;m=m+n;n=temp-n;﹜2.在下面的主程序中只允許顯式地使用一次set成員函數(shù),在下劃線處填上適當?shù)某绦?使程序的輸出為:589589#include<iostream.h>classbase{private:intx;public:voidset(inta){x=a;}voidshow(){____________}};voidmain(){basea,b;a.set(589);a.show();__b.show;}3.完畢下面程序,使其輸出為:-2.589000e+001+2.589000e+001程序如下:#include<iostream.h>voidmain(){cout.setf(ios::scientific|ios::left|ios::showpos);cout<<-25.89F<<endl;cout<<25.89f<<endl;}4.使用內(nèi)聯(lián)函數(shù)重新定義下面求兩個整數(shù)最小值的宏定義。#defineMAX(a,b)(a<b?a:b)解:inlineintMAX(inta,intb){returna<b?a:b;}5.下面是類test的兩個成員函數(shù)的定義,根據(jù)它們的定義,給出最小的類聲明形式,其中數(shù)據(jù)成員為私有,成員函數(shù)使用原型聲明。test::tese(inta,intb){m=a;n=b}voidtest::show(){cout<<m<<”,”<<n<<endl;}6.給出類聲明中的轉(zhuǎn)換函數(shù)的定義。classnumber{private:intval;public:number(inti){val=i;}operatorint();};7.完畢一面程序,使其輸出“5656”#include<iostream.h>voidmain(){int*a=intnew(56);intcout<<*a<<""<<*p<<endl;}8.在下面程序的下劃線處填上對的的語句,使類的數(shù)據(jù)成員i的值為20,輸出為35。#include<iostream.h>classsum{public:voiddisp(){cout<<i+j<<endl;}};voidmain(){Suma=;a.disp();}9.根據(jù)下面的主程序,補上所缺類說明文獻的最小形式(成員函數(shù)使用原型聲明)。#include(iostreamh)#include“base.h”voidmain(){baseobj(1,2,3);baseobj2(obj1);}10.在主函中的下劃線處填上對的的語句使程序輸出并說明理由。Aplace.HereisBplace.HereisBplace.程序如下:classB:publicA{public:voiddisplay(char*b){cout<<”Hereis”<<b<<endl;}};voidmain(){Aa,*pa;display(____);Bb;b.display(Bplace);pa=_____;pa->display(Bplace);}11.完畢一面程序,使其輸出“5656”#include<iostream.h>voidmain(){int*a=intnew(56);intcout<<*a<<""<<*p<<endl;}12.在下面程序的下劃線處填上對的的語句,使類的數(shù)據(jù)成員i的值為20,輸出為35。#include<iostream.h>classsum{public:voiddisp(){cout<<i+j<<endl;}};voidmain(){Suma=;disp();}13.給出類聲明中的轉(zhuǎn)換函數(shù)的定義。Classnumber{private:intval;pnblic:number(intI){val=I;}operatorint();};五、程序分析題1.#include<iostream.h>voidmain(){intn=333;int&m=n;cout<<m;m=m+150;cout<<””<<n;n=n-150;cout<<””<<m;}2.分析下面程序的輸出結(jié)果。#include<iostream.h>classbase{charc;public:voidchange(chara){c=a+32;cout<<c<<endl;}};voidmain(){basea;a.change(′A′);a.change(′B′);}3.分析下面程序的輸出.#include<iostream.h>classbase{intnum;public:base(intx){num=x;cout<<”Initializingnum=”<<num<<endl;}};voidmain(){cout<<”Enteringmain”<<endl;cout<<”Exitingmain<<endl;}staticbasea(548);4.分析下面程序的輸出結(jié)果。#include<iostream.h>#include<iomanip.h>voidmain(){cout<<oct<<15<<endl:cout<<hex<<15<<endl:cout<<setflii(‘a(chǎn)’)<<setw(10):cour<<256<<“OK”<<endl:}5.分析下面程序輸出結(jié)果。#include<iostream.h>voidf(){staticintn=25;n--;cout<<”n=”<<n<<””;}voidmain(){for(inti=0;i<=2;i++)f();}6.分析下面程序的輸出結(jié)果classbase{public:intx;voidsetx(inta){x=a;}intgetx(){returnx;}};#include<iostream.h>voidmain(){basea={125},b;b=a;cout<<a.x<<endl;cout<<b.getx()<<endl;}7.分析下面程序的輸出#include<iostream.h>classbase{private:inta;public:~base(){cout<<"析構(gòu)…"<<a<<endl;}base(inta=0):a(a){cout<<"初始化..."<<a<<endl;}};voidmain(){basea(8),b;}8.分析下面程序的輸出結(jié)果。#include<iostream.h>#include<iomanip.h>Viodmain(){Cout<<setfill(“a”)<<setw(0)<<15<<endl<<setw(1)<<15<<endl<<setw(4)<<15<<endl:Cout<<setw(8)<<setfill(“a”)<<endl:Cout<<setiosfiags(ios::right)<<setw(4)<<1<<setw(4)<<2<<endl:Cout<<setiosfiags(ios::left)<<setw(4)<<1<<setw(4)<<2<<endl:}9.分析下面程序的輸出結(jié)果。#include<iostream.h>classbase{Private:intx,y;public:voidsetxy(inta,intb){x=a;y=b;}voidshow(base*p){cout<<p->x<<”,”<<p->y;}};voidmain(){basea;}a.setxy(25,39)b.show(&a);}10.分析下面程序的輸出結(jié)果。#include<iostream.h>voidmain(){intx=56;int*a;int*&p=a;p=newint(x+2);cout<<*p<<endl;cout<<a[0]<<endl;cout<<x<<endl;}11.分析下面程序的輸出結(jié)果。#include<iostream.h>classbase{Private:intx,y;public:voidsetxy(inta,intb){x=a;y=b;}voidshow(base*p){cout<<p->x<<”,”<<p->y;}};voidmain(){basea;a.setxy(25,39)a.show(&a);}12.分析下面程序的輸出結(jié)果。#include<iostream.h>classA{inta;pubic:A(inta=0):a(a){cout<<a<<endl;}voidshow(){cout<<a<<endl;}};classB{Aal;intbpublic:B(intm,intn):al(m),b(n){}Voidshow(){al.show();cout<<b<<endl;}};voidmain(){Bb(256.285),c(b);c.show()}13.分析程序功能并給出輸出結(jié)果。#include<iostream.h>#include<fstream.h>Viodmain(void){Fstreamfin,fout;Fout.open(“my.txt”,ios::out);If(!fout

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論