面向?qū)ο蟪绦蛟O(shè)計題庫(C++)(范本模板)_第1頁
面向?qū)ο蟪绦蛟O(shè)計題庫(C++)(范本模板)_第2頁
面向?qū)ο蟪绦蛟O(shè)計題庫(C++)(范本模板)_第3頁
面向?qū)ο蟪绦蛟O(shè)計題庫(C++)(范本模板)_第4頁
面向?qū)ο蟪绦蛟O(shè)計題庫(C++)(范本模板)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第第#頁共25頁?D2()(cout〈〈"D2::~D2()" 〈〈endl;}};intB::num=0;intmain(){B*buf[3];buf[0]=newD1;buf[1]=newD2;buf[2]=newD1;inti;cout〈〈B::getNum()<<endl;for(i=0;i〈3;i++)buf[i]—〉k();for(i=0;i<3;i++)deletebuf[i];cout<<B::getNum()〈〈endl;system("pause");return0;}程序運行的結(jié)果是 有如下程序#include<iostream>usingnamespacestd;classR{public:R(intr1,intr2):R1(r1),R2(r2){};voidprint();voidprint()const;private:intR1,R2;};voidR::print()(cout〈<R1<<",”<〈R2〈〈endl;};voidR::print()const{cout〈<R1<<”,"<〈R2〈〈endl;intmain(){Ra(5,4);constRb(20,52);b.print();system("pause");return1;}程序運行的結(jié)果是 有如下程序#include〈iostream>usingnamespacestd;classdemo(public:staticintconstructor,copy_constructor;demo(){cout〈〈"defaultconstructor"<<endl;constructor++;}demo(constdemo&x){cout〈〈"copyconstructor"<〈endl;copy_constructor++;}};intdemo::constructor";intdemo::copy_constructor=0;demousercode(demob){democ(b);returnc;}intmain(){demoa,d;cout〈〈"callingusercode"<〈endl;d=usercode(a);cout〈〈demo::constructor〈〈”,"<<demo::copy_constructor〈〈endl;system("pause");return0;}程序運行的結(jié)果是 13。 有如下程序#include〈iostream>usingnamespacestd;classA{staticintm;intn;public:A(intm,intn){m=this一〉m;

n=this一〉n;}Show(){cout〈<m〈〈n〈〈endl;}}intA::m;intmain(){Aal(3,4);Aa2(5,6);al。Show();a2.Show();}程序運行的結(jié)果是 有如下程序#include<iostream>usingnamespacestd;classP{char*name;intage;char*add;public:P()(cout〈〈"P";}~P(){cout<<"!P";}};classS:publicP{char*department;intlevel;public:S(){cout<<"S";}~S(){cout〈<"!S";}};classT:publicP{char*major;floats;public:T(){cout<〈"T";}~T(){cout〈<"!T";}};intmain(){Ss;Tt;system("pause");return0;}SFT請按任意,程序運行的結(jié)果是:15。為什么要定義虛析構(gòu)函數(shù)?16。有如下程序#include<iostream〉usingnamespacestd;classB(public:B(){cout〈〈"B::B()"〈〈endl;num++;}virtualvoidf()=0;virtualvoidg()=0;voidk(){f();cout〈〈"B::k()" 〈〈endl;g();}virtual-B()(cout<<"B::~B()"<<endl;num--;}staticintgetNum()(returnnum;}private:staticintnum;};classD1:publicB{public:D1(){cout〈〈"D1::D1()"<<endl;}voidf(){cout<<"D1::f()"〈<endl;}voidg()(cout〈<"D1::g()"<〈endl;~D1(){cout<<"D1::~D1()"<<endl;}};classD2:publicB(public:D2(){cout〈〈"D2::D2()"〈<endl;}voidf(){cout〈〈"D2::f()"<〈endl;}voidg(){cout<<"D2::g()"<<endl;}~D2()(cout<〈"D2::~D2()"〈〈endl;}};intB::num=0;intmain(){B*buf[3];buf[0]=newD1;buf[1]=newD2;buf[2]=newD1;inti;cout<〈B::getNum()<〈endl;for(i=0;i<3;i++)buf[i]—>k();for(i=0;i<3;i++)deletebuf[i];cout<<B::getNum() 〈〈endl;system("pause");return0;}程序運行的結(jié)果是 17。有如下程序#include〈iostream>usingnamespacestd;

classR(public:R(intrl,intr2):Rl(rl),R2(r2)(};voidprint();voidprint()const;private:intR1,R2;};voidR::print()(cout〈(Rl<〈〈R2(<endl;};voidR::print()const(cout〈(R1〈<","(<R2<(endl;}intmain()(Ra(5,4);constRb(20,52);boprint();system("pause");return1;程序運行的結(jié)果是:20,就請按任意鍵繼續(xù)...18。有如下程序#include(iostream>usingnamespacestd;classB;classA(friendB;public:A()(cout〈<"inA()"〈〈endl;}A(constA&a){cout〈〈"inA(constA&a)〈<endl;~A()(cout(<"In~A()"<(endl;}};classB:publicA(public:B()(cout〈("InB()"(<endl;}B(constAa)(cout<〈"InB(constAa)"<<endl;}};voidf(A&a)(cout〈<"Inf(A&a)"〈(endl;}voidff(constB&b){cout<〈"Inff(B&b)"<<end;}voidff(Aa)()intmain()(Aa;Bbb=a;inAOinAnconstAinfi<>InB<constAa>InInIn19。有如下程序#include<iostream>usingnamespacestd;classdemo(

public:staticintconstructor,copy_constructor;demo()(cout〈<"defaultconstructor"<(endl;constructor++;}demo(constdemo&x)(cout<("copyconstructor"<(endl;copy_constructor++;}};intdemo::constructor=0;intdemo::copy_constructor=0;demousercode(demob)(democ(b);returnc;}intmain()(demoa,d;cout〈<"callingusercode"<(endl;d=usercode(a);:copy_constructor<<endl;cout(<demo::constructor<〈“"(<demo::copy_constructor<<endl;return0;}程序運行的結(jié)果是:defaultconstruetot*defaultconstructorcallinguscrcodecopyconstructorcopyconstructop22清按任意鍵繼續(xù)請分析下面的程序并給出該程序的執(zhí)行結(jié)果。#include<iostream.h)classAA(inta;public:AA()(cout<〈"InitualizingAA!\n";)~AA()(cout<<"DestroyingAA!\n";)};classBB(intb;AAp;public:BB()(cout〈("InitualizingBB!\n";}~BB()(cout<("DestroyingBB!\n";)};voidmain()(BBX;cout<("Endingmain!\n";}執(zhí)行該程序后,輸出結(jié)果為:Initualizin$fAA!InitualizingBB!Endingmain?Destpoi/ingfBBTDestFoping1AA*21。寫出下列程序的運行結(jié)果.#include(iostream>usingnamespacestd;classAA{inta;public:AA(inti){a=i;cout<<"AA="〈<a<<"\n";}virtual~AA(){cout〈<"~AA="〈<a<<"\n";}};classBB:publicAA{intb;public:BB(inti,intj):AA(i){b=j;cout<<nBB=H<(b〈〈"\n";}~BB(){cout<<"~BB="〈<b<<"\n";}};voidmain()(AA*pa=newAA(8);deletepa;AA*pb二newBB(6,9);deletepb;}執(zhí)行該程序后,輸出結(jié)果為:WTBB=9nrrac n寫出下面程序的輸出結(jié)果。#include<iostream.h>classTest{private:staticintval;inta;public:staticintfunc();staticvoidsfunc(Test&r);};intTest::val=20;intTest::func(){val--;returnval;}voidTest::sfunc(Test&r)(r.a=25;cout〈〈" Result3=”<<r。a;}voidmain(){cout<〈"Resultl="<<Test::func()<<endl;Testa;cout<〈"Result2="〈<a.func();Test::sfunc(a);}執(zhí)行該程序后,輸出結(jié)果為:

Resultl=19Result2=1823。寫出下面程序輸出結(jié)果.#include<iostreamoh)classA(public:virtualvoidfunc()(cout(("funcinclassA"〈〈endl;}};classB(public:virtualvoidfunc()(cout<("funcinclassB"<〈endl;)};classC:publicA,publicB(public:voidfunc()(cout〈<"funcinclassC"((endl;}};voidmain()(Cc;A&pa=c;B&pb=c;C&pc=c;pa.funcO;pb.funcO;pvofunc(); )執(zhí)行該程序后,輸出結(jié)果為:FuncincCFuncinclassCFuncinclassC24o寫出下面程序的輸出結(jié)果。#include<iostream。h〉classLocation(public:intX,Y;voidinit(intinitX,intinitY);intGetX();intGetY();};voidLocation::init(intinitX,intinitY)(X=initX;Y=initY;}returnX; }returnY;(cout〈<returnX; }returnY;(cout〈<rL。}GetX()〈<""((rL}GetX()〈<""((rLoGetY()<<'\n'; }voiddisplay(Location^rL)voidmain(){LocationA[5] ,(2,2},{3,3},{4,4}};Location*rA=A;A[3].init(5,3);rA—>init(7,8);for(inti=0;i〈5;i++)display(*(rA++));}執(zhí)行該程序后,輸出結(jié)果為:四、程序設(shè)計題1。以下是一個整數(shù)棧類的定義:constunsignedinSIZE=100;classstack{public:stack();~stack();voidpush(int);voidpop();intpop()const;private:intstack[SIZE];inttos;}試編寫一個棧的類模板(包括其成員函數(shù)定義),以便為任何類型的對象提供棧結(jié)構(gòu)數(shù)據(jù)的操作。編程從鍵盤輸入x和y的值,計算y=ln(2x—y)的值,要求設(shè)計一個"負(fù)數(shù)求對數(shù)"的異常類,并寫出測試程序。(對數(shù)函數(shù)log()在math。h中定義)寫一個函數(shù),找出給定字符串中具有最大ASCII碼的字符。如字符串"world"中字符'w'具有最大的ASCII碼。函數(shù)的原型為:charMaxCharacter(char*str);函數(shù)參數(shù):指向所要處理的字符串; 函數(shù)返回值:如果不空,則返回具有最大ASCII碼的字符,否則返回空字符0x0或’\0'。它的公有派生類其中包含載人數(shù)passenger_load。卡車類truck是vehicle的公有派生類其中包含載人數(shù)passenger_load和載重量payload,每個類都有相關(guān)數(shù)據(jù)的輸出方法.要求用UML圖來表示各個類及其相互的關(guān)系。根據(jù)下面類中Uion函數(shù)的原型和注釋寫出它的類外定義。classStrings(char*s; 〃指向動態(tài)分配的字符串?dāng)?shù)組空間intn: 〃記錄字符串長度public:Strings(char-*str); 〃構(gòu)造函數(shù),利用str字符串長度初始化n,〃利用str字符串初始化s所指的字符串空間Strings(Strings&str); //拷貝構(gòu)造函數(shù)Strings&Give(Strings&str); //實現(xiàn)str賦值給*this的功能

溫馨提示

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

評論

0/150

提交評論