freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c面向?qū)ο蟪绦蛟O(shè)計(jì)習(xí)題與上機(jī)解答-提交稿-陳維興-wenkub

2023-04-08 04:44:40 本頁面
 

【正文】 【】【解】D【】【解】 C【】【解】 D說明:“int *p=new int(5)。 //調(diào)用函數(shù)circle ts= triangle(h,w)。 double cs,ts?!尽? 【解】includeiostream //編譯預(yù)處理命令using namespace std。用C++編寫的程序比C更安全,可讀性更好,代碼結(jié)構(gòu)更為合理。用類來直接描述現(xiàn)實(shí)世界中的類型,可使計(jì)算機(jī)系統(tǒng)的描述和處理對(duì)象從數(shù)據(jù)擴(kuò)展到現(xiàn)實(shí)世界和思維世界的各種事物,這實(shí)際上大大擴(kuò)展了計(jì)算機(jī)系統(tǒng)處理的信息量和信息類型。(3) 可改善程序的可維護(hù)性在面向?qū)ο蟪绦蛟O(shè)計(jì)方法中,對(duì)對(duì)象的操作只能通過消息傳遞來實(shí)現(xiàn),所以只要消息模式即對(duì)應(yīng)的方法界面不變,方法體的任何修改不會(huì)導(dǎo)致發(fā)送消息的程序修改,這顯然對(duì)程序的維護(hù)帶來了方便。另一種方法是從它派生出一個(gè)滿足當(dāng)前需要的新類。尤其是采用了虛函數(shù)和動(dòng)態(tài)聯(lián)編機(jī)制后,允許用戶以更為明確、易懂的方式去建立通用的軟件。 車 玩具 玩具車 多繼承示意圖【】【解】多態(tài)性是面向?qū)ο蟪绦虻闹匾卣?。它表示W(wǎng)indows操作系統(tǒng)的窗口之間的繼承關(guān)系。 (3) 類間具有層次結(jié)構(gòu)?!尽?【解】以面向?qū)ο蟪绦蛟O(shè)計(jì)的觀點(diǎn),繼承所表達(dá)的是類之間相關(guān)的關(guān)系。封裝是面向?qū)ο蟪绦蛟O(shè)計(jì)方法的一個(gè)重要特性,所謂封裝具有兩方面的含義:一是將有關(guān)的數(shù)據(jù)和操作代碼封裝在一個(gè)對(duì)象中,各個(gè)對(duì)象相對(duì)獨(dú)立、相不干擾。對(duì)象所能實(shí)現(xiàn)的行為(功能),在程序設(shè)計(jì)方法中稱為方法,它們是通過調(diào)用相應(yīng)的函數(shù)來實(shí)現(xiàn)的,在C++語言中方法是通過成員函數(shù)來實(shí)現(xiàn)的。這種機(jī)制叫消息傳遞?!邦悺本褪蔷哂邢嗤臄?shù)據(jù)(屬性)和相同的操作代碼(函數(shù))的一組對(duì)象的集合。(2) 有一組屬性:用屬性來描述它的某些特征,一般可以用數(shù)據(jù)來表示,所有的屬性都有值。),從這個(gè)意義出發(fā), 基于面向過程的程序可以用以下的公式來表述:程序 = 過程 + 調(diào)用【】 【解】面向過程程序設(shè)計(jì)中普遍采用的優(yōu)化方法是使用結(jié)構(gòu)化程序設(shè)計(jì)方法,其局限性至少有以下幾個(gè)方面: (1) 面向過程程序設(shè)計(jì)方法開發(fā)軟件的生產(chǎn)效率低下(2) 面向過程程序設(shè)計(jì)方法難以應(yīng)付日益龐大的信息量和多樣的信息類型 (3) 面向過程程序設(shè)計(jì)方法難以適應(yīng)各種新環(huán)境【】 【解】 面向?qū)ο蟪绦蛟O(shè)計(jì)是一種新的程序設(shè)計(jì)范型。這種范型的主要特征是:程序 = 對(duì)象 + 消息對(duì)于面向?qū)ο蟮某绦蛟O(shè)計(jì),程序員注重的是類的設(shè)計(jì)和編寫,即問題域中涉及幾個(gè)類,各個(gè)類之間的關(guān)系如何,每個(gè)類包含哪些數(shù)據(jù)和函數(shù)(操作代碼),再由類生成其對(duì)象。(3) 有一組行為: 對(duì)象的行為或功能也稱為方法,一般用一組操作來描述。類和對(duì)象之間的關(guān)系是抽象和具體的關(guān)系。一個(gè)對(duì)象向另一個(gè)對(duì)象發(fā)出的請求被稱為“消息”?!尽?【解】在面向?qū)ο蟪绦蛟O(shè)計(jì)中,抽象是通過特定的實(shí)例(對(duì)象)抽取共同特性后形成概念的過程。二是將對(duì)象中某些數(shù)據(jù)與操作代碼對(duì)外隱蔽,即隱蔽其內(nèi)部細(xì)節(jié),只留下少量接口,以便與外界聯(lián)系,接收外界的消息。這種關(guān)系使得某一類可以繼承另外一個(gè)類的特征和能力?!尽?【解】從繼承源來分,繼承分為單繼承和多繼承。 窗口對(duì)話窗口編輯窗口 單繼承示意圖多繼承是指多個(gè)基類派生出一個(gè)派生類的繼承關(guān)系。多態(tài)性是指不同的對(duì)象收到相同的的消息時(shí)執(zhí)行不同的操作?!尽?【解】面向?qū)ο蟪绦蛟O(shè)計(jì)的優(yōu)點(diǎn)主要包括以下幾個(gè)方面:(1) 可提高程序的重用性面向?qū)ο蟪绦蛟O(shè)計(jì)方法能比較好地解決軟件重用的問題。繼承性機(jī)制使得子類不僅可以重用其父類的數(shù)據(jù)和程序代碼,而且可以在父類代碼的基礎(chǔ)上方便地修改和擴(kuò)充,這種修改并不影響對(duì)原有類的使用。另外,類的封裝和信息隱藏機(jī)制使得外界對(duì)其中的數(shù)據(jù)和程序代碼的非法操作成為不可能,這也就大大地減少了程序的錯(cuò)誤率。第2章 C++的初步知識(shí) 習(xí)題參考解答【】【解】C++語言的主要特點(diǎn)表現(xiàn)在兩個(gè)方面,一是全面兼容C,并對(duì)C的功能作了不少擴(kuò)允,二是增加了面向?qū)ο蟮臋C(jī)制。(3) 用C++編寫的程序質(zhì)量高,從開發(fā)時(shí)間、費(fèi)用到形成的軟件的可重用性、可擴(kuò)充性、可維護(hù)性和可靠性等方面有了很大的提高,使得大中型的程序開發(fā)變得更加容易。 //使用命令空間stddouble circle(double r) //定義函數(shù)circle{ return *r*r。 coutInput r,h,w:。 //調(diào)用函數(shù)trianglecoutThe area of circle is: csendl。”表示動(dòng)態(tài)分配1個(gè)整型內(nèi)存空間,初值為5?!北硎緞?dòng)態(tài)分配1個(gè)整型內(nèi)存空間?!毙薷牧薾ame所指向的地址中的數(shù)據(jù),“name=lin?!皀ame[3]=′q′?!焙汀皀ame=new char(′q′)?!毙薷牧薾ame所指向的地址中的數(shù)據(jù),是錯(cuò)誤的?!尽俊窘狻緾【】【解】 D說明:C++中不能建立引用數(shù)組和指向引用的指針,也不能建立引用的引用?!尽俊窘狻坎豢赡芡ㄟ^編譯的原因是:在程序中,當(dāng)一個(gè)函數(shù)的定義在后,而對(duì)它的調(diào)用在前時(shí),必須將該函數(shù)的原型寫在調(diào)用語句之前,而在本程序中缺少函數(shù)原型語句?!尽俊窘狻勘境绦虻倪\(yùn)行結(jié)果如下:x+y=65【】【解】本程序的運(yùn)行結(jié)果如下:101說明: 在語句“::i=i+1。m,n)中 第1個(gè)參數(shù)是引用參數(shù), 引用參數(shù)是一種按地址傳遞參數(shù)的方法,對(duì)其的調(diào)用是傳地址調(diào)用。又由于m是對(duì)函數(shù)f的引用,當(dāng)m被賦值為20時(shí),k的值也變?yōu)?0 。int main(){ float x,y。 coutpow(x,y)=zendl。int main(){ int *p=new int[20]。 p=p+2。 cout*p\t。}return 0。 }double sroot(double d){ return sqrt(d)。couti的二次方根是:sroot(i)endl。}本程序的運(yùn)行結(jié)果是:i的二次方根是:l的二次方根是:d的二次方根是: 上機(jī)實(shí)驗(yàn)題參考解答【】 【實(shí)驗(yàn)步驟】在第一次上機(jī)時(shí),按以下步驟建立和運(yùn)行C++程序:(1) 先進(jìn)入Visual C++。 選擇“Build(編譯)→Compile ()”命令,對(duì)此源程序進(jìn)行編譯。如果還有錯(cuò),再重復(fù)此過程,直到編譯信息提示:“ 0 error(s),0 warming(s)”,即既沒有error類型的語法錯(cuò)誤,也沒有warming類型的語法錯(cuò)誤,。選擇“Build→Execute (執(zhí)行Execute )”命令,。(7) 關(guān)閉工作空間。 ① 編譯出錯(cuò)信息告知在第3行有2個(gè)error錯(cuò)誤,第1個(gè)錯(cuò)誤的原因是cout未經(jīng)聲明,第2個(gè)錯(cuò)誤的原因是運(yùn)算符“”不合法。第1個(gè)error錯(cuò)誤的原因是運(yùn)算符“”不合法,原因與第3行的相同。” 時(shí),才判定出錯(cuò)。 ③ 編譯出錯(cuò)信息告知第5行有1個(gè)warming錯(cuò)誤,原因是main函數(shù)默認(rèn)的返回值類型是int, 而main函數(shù)中沒有返回值。int main(){ coutHello!\n。int main() { int x,y。 coutx*y=zendl。 由于同樣的原因造成了第2個(gè)錯(cuò)誤,即第12行找不到文件的結(jié)束符。 x=5。 return 0。 int x,y。 return 0。②) 函數(shù)fun中的語句“n=m*5”缺少一個(gè)“。)。 coutx+y=x+yendl。}【運(yùn)行結(jié)果】x+y=35 【結(jié)果分析】 ① 使用引用作函數(shù)的形參時(shí),調(diào)用函數(shù)的實(shí)參要用變量名。程序在第2次調(diào)用fun()時(shí),使得y得到的值是35。return(tempz ? temp:z)。}char maxl(char x,char y){ return(xy ? x:y)。double d1,d2。c1=maxl(39。)。e39。d1=maxl(,)。coutmaxl(,)=d1endl。,39。d39。h39。a39。d39。h39。)。 //如果xy,使x和y的值互換coutmax=x min=yendl。t2) //函數(shù)的作用是使t1與t2互換{ char temp。}【運(yùn)行結(jié)果】g j↙max=j min=g【】【參考程序】//includeiostreamusing namespace std。 coutArea is:*(*r)*(*r)endl。公有成員函數(shù)。類的聲明由關(guān)鍵字class打頭,后跟類名,花括號(hào)中是類體,最后以一個(gè)分號(hào)“。也可以缺省定義。析造函數(shù)的名字與是在類名前加“~”。語句(3)在建立新對(duì)象p2時(shí),用已經(jīng)存在的對(duì)象P1去初始化新對(duì)象p2,在這個(gè)過程中用“代入法”調(diào)用了拷貝構(gòu)造函數(shù)?!尽俊窘狻勘境绦虻倪\(yùn)行結(jié)果如下:Con.Copy con.default.【】【解】 第1個(gè)錯(cuò)誤:printStu()和setSno兩個(gè)成員函數(shù)沒有用public定義,不允許外部函數(shù)對(duì)對(duì)象進(jìn)行操作?!眻?zhí)行時(shí)出現(xiàn)錯(cuò)誤。}private: float radius。cinr。}程序的運(yùn)行結(jié)果是:請輸入圓的半徑:3半徑為3的圓的面積為:【】 【解】實(shí)現(xiàn)本題功能的程序如下:includeiostream using namespace std。 double volume。 volume=*r*r*h。return 0。 day=d。 day=。 }void printDate(){ cout日期是:year年mon月day日endl。 }private: int day,mon,year。 Date d2。()。(3)【錯(cuò)誤分析】 調(diào)試程序時(shí),發(fā)現(xiàn)添加的兩條語句有錯(cuò)。這樣,創(chuàng)建對(duì)象p4時(shí),2個(gè)參數(shù)分別使用默認(rèn)值0和0。程序在執(zhí)行語句Coordinate pl(3,4)。 ② 當(dāng)用類的一個(gè)對(duì)象去創(chuàng)建該類的另一個(gè)對(duì)象時(shí),將調(diào)用拷貝構(gòu)造函數(shù)。【】【參考程序】//includeiostreamusing namespace std。 //生成最終魔方成員函數(shù) void printmagic()。 //起始值 int sum。 cout輸入相鄰元素差值:。 tmp=first。j4。 for (int i=0,j=0。i4。i4。 coutendl。 cout初始魔方如下:endl。 ()。int main(){ int i。for(i=0。Reverse(str)。i++) coutstr[i] 。 for( int i=0。 s[len1i]=t。聲明對(duì)象指針的一般語法形式為: 類名* 對(duì)象指針名。靜態(tài)成員函數(shù)既可以在類內(nèi)定義也可以在類外定義。所以程序最后輸出disp2。private: int x。}void CTest::use_friend(){ CTest fri。(fri)。class CTest{public: const int y2。 ...private:
int x。 i=x。 int i=。}【】【解】本程序的運(yùn)行結(jié)果如下:Init defaInit defaInit defaInit 35【】 【解】實(shí)現(xiàn)本題功能的程序如下:includeiostreamusing namespace std。}。p=p+1。return 0。 }。stu[0]。int k=0。 k=i。price= b。int main(){ book ob[5]={ book(1,10),book(2,20), book(3,30),book(4,40),book(5,50) }。 i++) ob[i].show_money()。price= b。int main(){ book ob[5]={ book(1,10),book(2,20), book(3,30),book(4,40), book(5,50) }。ob[4]。p。deg=d。}static double avg(){ ret
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1