版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο骎S面向結(jié)構(gòu) 多 28 類 容器 LIST鏈 VS.NET2015vc++編譯:將源代碼(xxx.cxxx.cpp)轉(zhuǎn)變成目VS.NET創(chuàng)建解決方案文件夾(虛擬文件夾),編譯:將源代碼(xxx.cxxx.cpp)轉(zhuǎn)變成目連接:源文件一起打包轉(zhuǎn)變成可執(zhí)行文件Ghost版本系統(tǒng)不推薦使用.計(jì)算機(jī)操作Win10(C盤C本人:1天的時(shí)間ghostC盤(win10-隨便用吧,系統(tǒng)壞了ghost恢復(fù)系統(tǒng)(15分鐘cbasicPascal等語言面向?qū)ο蟪绦蛟O(shè)計(jì)吸取了結(jié)構(gòu)化程序設(shè)計(jì)的面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)及對(duì)數(shù)據(jù)的操作放三國(guó)時(shí)期,吟道“喝酒唱歌,人生真樣張出來給一看感覺不爽修改為:生幾何。當(dāng)大臣轉(zhuǎn)告工匠之時(shí),工匠昏 要改,只需要改要改的字,此為可后來的印刷中重復(fù)使用,此為可復(fù)用此詩若要加字,只需要另刻字加入即可,從用戶的角度去搞清楚實(shí)際的工作完成方法從軟件開發(fā)方法,技術(shù)的角度分析軟件開發(fā)的從軟件開發(fā)的角度分析要使用用戶工作,軟件必須完成的功能模塊有哪些?不涉及具體如何實(shí)現(xiàn)需求規(guī)格說明書等大體的說,該軟件有哪些功能模塊,模塊的調(diào)用 概要設(shè)計(jì)文檔等詳細(xì)設(shè)計(jì)文檔等將詳細(xì)設(shè)計(jì)階段得出的文檔轉(zhuǎn)變成源代碼.可以選擇的實(shí)現(xiàn)語言:C語言/C++/C#/Java.程序編碼文檔由另外一個(gè)部門的系統(tǒng)分析師/軟件設(shè)計(jì)師進(jìn)測(cè)試報(bào)告等運(yùn)行方向2006面向?qū)ο蠓治龅牡谝徊绞?3 B.確定附加的系統(tǒng)約CD.定義類和對(duì)象服務(wù)=面向?qū)ο螅筋?繼承+對(duì)象+類是對(duì)具有相同屬性和服務(wù)的一個(gè)或一組對(duì)classStudent{定義一個(gè)“Studentprivate://private可省略不寫(位于第一個(gè)位置可省略charvoidChangeMark();//私有段一般不放服務(wù)(函數(shù),動(dòng)作) int char*GetName();charprivate:私有段數(shù)據(jù)或?qū)傩?,此privatechar*name; intmark;Studentstu;//private,proteced,public三段對(duì)象(object)是系統(tǒng)中用來描述客觀事物的一向?qū)ο蠓椒▽W(xué)使用對(duì)象分解取代了傳統(tǒng)方法的功屬性:也稱狀態(tài)或數(shù)據(jù),用來描述對(duì)象的服務(wù):也稱操作、行為或方法等,用來描述對(duì)象的動(dòng)態(tài)特征。某些面向?qū)ο蟪绦蛟O(shè)計(jì)語言封裝的一個(gè)重要原則,目的是使對(duì)象的定義與對(duì)象是其全部屬性和全部服務(wù)緊密結(jié)合而的數(shù)據(jù)操作的代碼都被封裝在黑盒子里面。構(gòu)細(xì)節(jié)操作的算法。從外面看不見,更不可處于私有段(private)的屬性或行為是不向外公開的,只在類定義體中的函數(shù)體中,即使處于保護(hù)段(protected)的屬性或行為只對(duì)可直接但“對(duì)象名.保護(hù)屬性或行為”這種寫法過“對(duì)象名.公有屬性或行為”這種方式公有段主要是向外界提供一個(gè)私有段和保護(hù)段的一#include<iostream>usingnamespacestd; private://可以省略不寫doubleheight;doubleweight;doublemoney;(doublex,doubley,double構(gòu)造函數(shù),height=x;weight=y;money=}void{}void{ }是面向?qū)ο蟪绦蛟O(shè)計(jì)語言不同于其它語言的classclassclassE:privateA{//classB:publicclassC:publicclassD:protectedclassF:privateA,protectedB,C,publicD//{BAACBBC的直是它的直接基類外,A也是它的基類,但是是間接A,B,C,DCardelli和、Wegner4包含多態(tài):在許多語言中都存在,最常見入了派生概念后用來表現(xiàn)基類和派生類的成員函過載多態(tài):同一個(gè)名字在不同的上下文中強(qiáng)制多態(tài):編譯程序通過語義操作,把操的要求。程序設(shè)計(jì)語言中基本類型的大多數(shù)操作進(jìn)行強(qiáng)制多態(tài)的操作。如int+double,編譯系統(tǒng)一intdoubledouble+doubleint->double多態(tài)性不僅增加了面向?qū)ο筌浖到y(tǒng)的靈活消息:就是向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求,它包消息通信:也是面向?qū)ο蠓椒▽W(xué)中的一個(gè)綁定是一個(gè)把過程調(diào)用和相應(yīng)調(diào)用所需要執(zhí)據(jù)接收對(duì)象的具體情況將請(qǐng)求的操作與實(shí)現(xiàn)的方可性用性高、可性好、擴(kuò)展性強(qiáng)!在C語言中允許動(dòng)態(tài)地分配空間及動(dòng)態(tài)地釋放已分配的空間,它所使用的是函數(shù)malloc()和()。申請(qǐng):int*p=(int釋放 malloc()相比,具有以下優(yōu)越性:new既省事,又可以避免量分配的偶然性錯(cuò)誤它自動(dòng)返回正確的指針類型,不必對(duì)返回newnewdeletenew=new變量類型(初始化值int*s=newint*s=(int這里定義了一個(gè)整型變量(不知道此變量的名變量動(dòng)態(tài)分配了空間,并將地址賦給*s;s=new這里定義了一個(gè)整型變量(不知道此變量的名字)200,s為指向該整型變量所在的*p=newint[10];等價(jià)于intnew10的數(shù)組,并用一個(gè)指針(p指針)指向此數(shù)組的首地址。deletedeletenew分配的。intint*s;s=newint(200);deletes;int*p=newstaticstatic來定義,是用來實(shí)現(xiàn)同一個(gè)類的不同對(duì)象之classclasscounter{staticintcount;//intobjnum;voidstaticvoidprint()//{}countercounterstatic時(shí),作為靜態(tài)靜態(tài)成員函數(shù)的對(duì)象名.靜態(tài)成員函數(shù)(“.”并不表示所屬類名::靜態(tài)成員函數(shù)(既是所屬關(guān)系,又是調(diào)用關(guān)系3.靜態(tài)成員函數(shù)不能像一般的成員函數(shù)那樣隨意地對(duì)象中的非靜態(tài)的數(shù)據(jù)內(nèi)容一般情況下,靜態(tài)的成員函數(shù)里面只靜態(tài)的成員變#include<iostream>#include<string>usingnamespacestd;classMyString{staticinttotalLength;intlength;char*contents;MyString(char{this->length=strlen(s);//contents=s;contents=newchar[length+1];}void{}int{return}staticintSetTotalLength(MyString{totalLength+=obj.GetLength();returntotalLength;}{delete}intMyString::totalLength0;//此行能否不要voidmain(){char*s="thefirstobject";MyStringobj1("thefirstobject");MyStringobj2("thesecondobject");}this:對(duì)象自身(c++中稱為this),是面向?qū)?duì)象都有屬于自己的對(duì)象自身值。classclassclassy:privateyx類的派生類,xy(此處為私說基類的所有公有成員和保護(hù)段成員只能成為私有派生類的私有成員(private),這些私有成員只能被派生類的成員函數(shù)而派生類的使用者無#include<iostream>usingnamespacestd;classx{inta;x(inty){ay;}//構(gòu)造函數(shù)初始化intgetPub(){returna;}int returna;classy:x{私有繼承,classy:privatexintb;y(inty):x(y){b=y;}//構(gòu)造函數(shù)定義,綴上基類的構(gòu)int{b=getPub()+10;//getPub()是基類提供 b=return}void{{xycout<<x1.getPub()<<endl;//y1.getPub }問題:y1x1public成員和保護(hù)段成員變成為公有派生類的公有成員#include<iostream>using#include<iostream>usingnamespacestd;classx{inta;x(intx) {a=x;}//構(gòu)造函數(shù)初始化intgetPub(){returna;}int returna;classy:publicx{intb;y(inty):x(y){b=y;}intmake(){b=getPub()+10;b=getPro()+20;returnb;}void{xy}問題: //正確嗎cout<<y1.getPro()<<endl;//y是xgetPub中是保護(hù)段成員,所以派生類對(duì)象y1能直接getPub(),但不能直接getPro()。#include<iostream>usingnamespacestd;classx{inta;x(intx) {#include<iostream>usingnamespacestd;classx{inta;x(intx) {ax;}//構(gòu)造函數(shù)初始化intgetPub(){returna;}int returna;classy:protectedx{intb;y(inty):x(y){b=y;}//構(gòu)造函數(shù)定義,綴上基類的構(gòu)int{b=getPub()+10;b=getPro()+20;returnb;}}void{xy}問題:cout<<y1.getPub()<<endl;//正確嗎?cout<<y1.getPro()<<endl;//由于y是xgetPub()20063O、PQO中定義了一classP:protectedO{…};classQ:publicO{…};F1的描述中正確的是(34)F2(35)F3的描述中正確的是(36)。A.F1只有在類o內(nèi)才能方法只有在類P內(nèi)才能方法只有在類Q內(nèi)才能方法A.類O、P和Q的對(duì)象都可以方法類P和Q的對(duì)象都可以方法類o和Q的對(duì)象都可以方法只有在類P內(nèi)才能方法A.類0、P和Q的對(duì)象都可以方法類o、p和Q的對(duì)象都不可以方法類0和Q的對(duì)象都可以方法類P和Q的對(duì)象都可以方法F3#include<iostream>using#include<iostream>usingnamespacestd;classNumber{inti;char*s1;intMax(inta){returna>i?a:i;}char*Max(char*c){return}Number(intx,char this->s1=y;void{Numbernum(10,"}上例中的多態(tài)通過函數(shù)重載來實(shí)現(xiàn),重載(譯時(shí)的多態(tài)性通過重載來實(shí)現(xiàn))了兩個(gè)函數(shù),均為虛函數(shù)的作用(看下面的例子#include<iostream>usingnamespacestd;classFather{void{}classSon1:publicFather{voidWho()//自己定義-{}classSon2:public{voidWho()//自己定義-{}}void{Father*p;Son1obj1;Son2p=&obj1;//基類指針指向派生類對(duì)象obj1p=&obj2;//基類指針指向派生類對(duì)象obj2p->Who();}但實(shí)際輸出結(jié)果基類基類不滿足編程者意愿基類不滿足編程者意愿通過指針引起的普通成員函數(shù)調(diào)用,僅僅與指針的類型有關(guān),而與此指針指向什么對(duì)象無不管指針p當(dāng)前指向哪個(gè)對(duì)象(是基類對(duì)象還是派生類對(duì)象),p->Who()調(diào)用的都是基類中定Who()函數(shù)版本。通過子類對(duì)象顯示調(diào)用:obj1.Who強(qiáng)制轉(zhuǎn)換基類指針:((Sun1*)p)-把who()函數(shù)為虛函數(shù)或純虛函數(shù)。classbase{virtualvoid//virtualvoid僅僅返回類型不同,其余均相同,系統(tǒng)會(huì)函數(shù)原型不同,僅函數(shù)名相同,系統(tǒng)會(huì)將(方法virtual=0,我們2004●重置的基本思想是通過(48)機(jī)制的支持,(48)A.靜態(tài)綁定B.對(duì)象C.類型匹配D如果類之間頻繁共享同一函數(shù)或數(shù)據(jù),則C++中的為封裝隱藏這堵不透明的墻當(dāng)然使元會(huì)使數(shù)據(jù)封裝性受到削弱,程序可性變差因此一定要慎重使用只要將外界的某個(gè)對(duì)象說明為某一個(gè)類的友元那么這個(gè)外界對(duì)象就可以這個(gè)類對(duì)象中的為的外界對(duì)象既可以是另一個(gè)類的函數(shù)都成為函數(shù)。包含在其私有成員可被作為的外界對(duì)象的類定義中,也就是將friend關(guān)鍵字放在函數(shù)名或類名的前面此可以放在公有部#include<iostream>using#include<iostream>usingnamespacestd;classPoint{intx,y;Point(intx,intfriendvoid在這個(gè)例子中,在這個(gè)例子中,voidPrint()Point,Point::Point(intx,int{this->x=x;this->y=}voidPrint(Point cout<<point1.x<<"}void{Point//cout<<point1.xpoint1.y;行不行?}它可以Point類對(duì)象的私有成員x,y。 #include<iostream>using#include<iostream>usingnamespacestd;classPoint{intx,y;Point(intx,intfriendclassFriendOfPoint;friendvoidPrint(Pointp);classvoidPrint(Point{ }Point::Point(intx,int{Point::x=x;//可以換成this->x=x; Point::y=y;//可以換成this->y= }voidPrint(Point{ }void{Pointpoint1(5,6);FriendOfPointfriOfPoint;}以上例子中,F(xiàn)riendOfPointPointFriendOfPoint類的所有對(duì)象都可以PointPrint不屬于任何一Point的函數(shù),所以它也可以直接Point類對(duì)象point1的私有成員。類屬是程序設(shè)計(jì)語言中普遍注重的一種參數(shù)常強(qiáng),它是無約束類屬機(jī)制和約束類屬機(jī)制的集模板格式說明體temte是一個(gè)模板的關(guān)鍵字,它表示正在一個(gè)模板。模板參數(shù)表是由若干個(gè)模板參數(shù)組成的,每個(gè)模板參數(shù)均是由類型參數(shù)和參數(shù)說明兩部分class說明體是指模板定義體,或?yàn)楹瘮?shù)模板的intmax(intintmax(intx,int{return}floatmax(floatx,float{return} x,{return}char*max(char*x,char{return}板的形式可以避免這些相同信息的重復(fù)。定義如te<classTmax(Tx,T{return}其中<classT>classTT預(yù)定義類型、用戶自定義類型。這樣定義的max代表的是一類函數(shù),所以是函數(shù)模板。如果這個(gè)maxT(int等TT#include<iostream>using#include<iostream>usingnamespacestd;temte<classT>TGetMax(Tx,T{return}void{intfloatx1=50.34f,x2=56.34f;doubley1=673.36,y2=465.972;cout<<"themaxofi,jis:"<<GetMax(i,j)<<endl;cout<<"thecout<<"themaxofi,jis:"<<GetMax(i,j)<<endl;cout<<"themaxofx1,x2is:"<<GetMax(x1,x2)<<endl;cout<<"themaxofy1,y2is:"<<GetMax(y1,}2004(1)機(jī)制。的是這些類的成員特征中與(2)變?cè)獊肀硎九c(3)A.包含多態(tài)B.參數(shù)多態(tài)C.過載多態(tài)D.強(qiáng)制多態(tài)A.具體對(duì)象無關(guān)B.具體類型無關(guān)C.具體對(duì)象相關(guān)D.具體類型相關(guān)(3)A.具體對(duì)象無關(guān)B.具體類型無關(guān)C.具體對(duì)象相關(guān)D.具體類型相關(guān)它們都沒有返回值說明,定義它們的時(shí)候不需函數(shù)返回值類型。C++函數(shù)一樣,構(gòu)造函數(shù)可以用usingnamespacestd;classPoint{intx,y;Point(intvx,intvy);//帶參數(shù)的構(gòu)造函數(shù)voidOffSet(intax,intay);Point::Point(intvx,int{y=}voidPoint::OffSet(intax,int{}void{Pointpt1(10,20);}usingnamespacestd;classSet{int intSet(inti);//Set::Set(int{size=i;}void{Sets1(64);Sets2(16);Sets3(8);Sets4;}s1sizes2size816?。籹4時(shí),并沒有給構(gòu)造函數(shù)傳遞參數(shù)。因?yàn)樵趇16,構(gòu)造函數(shù)就使函數(shù)中缺省參數(shù)并不只限于含有單個(gè)參數(shù)的usingnamespacestd;classPoint{intx,y;Point(intvy,int{}void{Pointp1;//錯(cuò)誤Pointp2(10);Pointp3(10,20);}p1,p2,p3x,y取得不同的值。p1,p2p2x取值為10y0。p3yx10y所有取缺省值的參數(shù)必須出現(xiàn)在不取缺省參數(shù)的Point(intPoint(intx,inty=0);//Point(intx=0,inty);//usingnamespacestd;classx{inta,b;x(intc,int{//a}void{ }void{x}}usingnamespacestd;classA{virtualvoid{}classB:publicA{void{}void{A*p=newB();A*q=newB;A*r=A*o=newA();A*w=newA;A*z=Aa=Ab;}基類類型指針可以指向任何派生類對(duì)象ok#includevectorstd命名域的,因此需要通過命名usingstd::vector;vector<int>或者連在一起,使用全名:std::vector<int>建議使用全局名域方式:using (beg,end)cnelem的c。vInts.at(idx)idx所指的數(shù)據(jù),如idxout_of_range。vInts.back()傳回最后一個(gè)數(shù) 查這個(gè)數(shù)據(jù)是否vInts.begin()傳回迭代器中的第一個(gè)數(shù)據(jù)vInts.capacity()返回容器中單元個(gè)數(shù)vInts.clear()vInts.empty()vInts.end()指向迭代器中的最后一個(gè)數(shù)據(jù)vInts.erase(pos)pos 刪除[beg,end)區(qū)間的vInts.front()vInts.get_allocator使用構(gòu)造函數(shù)返回一個(gè)vInts.inse
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中國(guó)建筑股份限公司崗位招聘1人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)華能集團(tuán)限公司華能核能技術(shù)研究院限公司招聘50人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)人壽神農(nóng)架支公司招聘10人(湖北)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中共北京市委黨校公開招聘應(yīng)屆畢業(yè)生11人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年陜西商洛市事業(yè)單位招聘工作人員278人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年聯(lián)考筆試實(shí)錘這幾省份明確會(huì)參加高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年湖北事業(yè)單位10.27聯(lián)考(1337人)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年浙江麗水市青田縣招聘88名國(guó)企業(yè)工作人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年山東青島市市北區(qū)部分事業(yè)單位招聘23人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川省內(nèi)江東興區(qū)部分事業(yè)單位考聘89人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 北魏政治和北方民族大交融【全國(guó)一等獎(jiǎng)】
- 淮安市2023-2024學(xué)年七年級(jí)上學(xué)期期末歷史試卷(含答案解析)
- 培養(yǎng)學(xué)生深度思考的能力
- 醫(yī)院感染管理培訓(xùn)課件:內(nèi)鏡操作中的感染控制要點(diǎn)
- 美容皮膚科培訓(xùn)課件
- 《傳染病及預(yù)防》教學(xué)設(shè)計(jì)
- 高中研究性課題報(bào)告環(huán)境保護(hù)
- 25題電控工程師崗位常見面試問題含HR問題考察點(diǎn)及參考回答
- 天津市西青區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)達(dá)標(biāo)卷(含答案)
- 社會(huì)心理學(xué)理論考試試題及答案
- 國(guó)開2023秋《電子商務(wù)概論》實(shí)踐任務(wù)B2B電子商務(wù)網(wǎng)站調(diào)研報(bào)告參考答案
評(píng)論
0/150
提交評(píng)論