C面向?qū)ο蟪绦蛟O(shè)計(jì)教程第陳維興林小茶課后習(xí)題答案及解析_第1頁(yè)
C面向?qū)ο蟪绦蛟O(shè)計(jì)教程第陳維興林小茶課后習(xí)題答案及解析_第2頁(yè)
C面向?qū)ο蟪绦蛟O(shè)計(jì)教程第陳維興林小茶課后習(xí)題答案及解析_第3頁(yè)
C面向?qū)ο蟪绦蛟O(shè)計(jì)教程第陳維興林小茶課后習(xí)題答案及解析_第4頁(yè)
C面向?qū)ο蟪绦蛟O(shè)計(jì)教程第陳維興林小茶課后習(xí)題答案及解析_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、集團(tuán)文c面向?qū)ο蟪绦蛟O(shè)計(jì)數(shù)程第陳維興林小茶課后習(xí)題答案及解析號(hào):(981 &uatw w-m wub-wunn-innul-dqqty-c+面向?qū)ο蟪绦蛟O(shè)計(jì)教程課后題答案什么是面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)是一種新的程序設(shè)計(jì)范型.這種范型的主要特征是:程序:對(duì)象+消息面向?qū)ο蟪绦虻幕驹厥菍?duì)象。主要結(jié)構(gòu)特點(diǎn)是:第一,程序一般由類的定義和類的使用兩部分組成;第二,程序中的一切操作都是通過(guò)向?qū)ο蟀l(fā)送消息來(lái)實(shí)現(xiàn)的。什么是對(duì)象什么是類對(duì)象與類之間的關(guān)系是什么對(duì)象是描述其屬性的數(shù)據(jù)以及對(duì)這些數(shù)據(jù)施加的一組操作封裝在一起構(gòu)成的統(tǒng) 一體。類就是具有相同的數(shù)據(jù)和相同的操作的一組對(duì)象的集合,也就是說(shuō),類是對(duì)

2、具 有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的一類對(duì)象的描述。類和對(duì)象之間的關(guān)系是抽象和具體的關(guān)系。類是多個(gè)對(duì)象進(jìn)行綜合抽象的結(jié) 果,一個(gè)對(duì)象是類的一個(gè)實(shí)例?,F(xiàn)實(shí)世界中的對(duì)象有哪些特征請(qǐng)舉例說(shuō)明。現(xiàn)實(shí)世界中的對(duì)象具有以下特征: 1)每一個(gè)對(duì)象必須有一個(gè)名字以區(qū)別于其他對(duì)象;2)用屬性來(lái)描述對(duì)象的某些特征;3)有一組操作,每組操作決定對(duì)象的一種行為;4)對(duì)象的行為可以分為兩類:一類是作用于自身的行為,另一類是作用于其 他對(duì)象的行為。例如一個(gè)教師是一個(gè)對(duì)象。每個(gè)教師對(duì)象有自己的名字來(lái)和別的教師區(qū)別。教 師具有編號(hào),姓名,年齡,職稱,專業(yè)等屬性。教師擁有走路,吃飯,授課等 行為操作。走路,吃飯是作用于自身的行為,授

3、課是作用于其他對(duì)象的行為。什么是消息消息具有什么性質(zhì)一個(gè)對(duì)象向另一個(gè)對(duì)象發(fā)出的請(qǐng)求成為“消息”。消息具有以下3個(gè)性質(zhì):1)同一個(gè)對(duì)象可以接收不同形式的多個(gè)消息,做出不同的相應(yīng);2)相同形式的消息可以傳遞給不同的對(duì)象,所做出的響應(yīng)可以是不同的;3)對(duì)消息的響應(yīng)并不是必須的,對(duì)象可以響應(yīng)消息,也可以不響應(yīng)。什么是抽象和封裝請(qǐng)舉例說(shuō)明。抽象是將有關(guān)事物的共性歸納、集中的過(guò)程。例如:把所有具有大學(xué)生學(xué)籍的人歸為一類,成為“大學(xué)生”,這就是一個(gè)抽 象。封裝是指把數(shù)據(jù)和實(shí)現(xiàn)操作的代碼集中起來(lái)放在對(duì)象內(nèi)部,并盡可能隱藏對(duì)象 的內(nèi)部細(xì)節(jié)。例如:每一臺(tái)洗衣機(jī)都有出廠日期、機(jī)器編號(hào)等屬性,也有啟動(dòng)、暫停、選擇 等

4、操作。人們?cè)谑褂孟匆聶C(jī)的時(shí)候只需要按下對(duì)應(yīng)的按鈕,而不用關(guān)心具體的 內(nèi)部實(shí)現(xiàn)。這就是封裝。什么是繼承請(qǐng)舉例說(shuō)明。繼承就是允許派生類使用基類的數(shù)據(jù)和操作,同時(shí),派生類還可以增加新的操 作和數(shù)據(jù)。例如:哺乳動(dòng)物是一種熱血、有毛發(fā)、用奶哺育幼崽的動(dòng)物;狗是有犬牙、 食肉、特定的骨骼結(jié)構(gòu)、群居的哺乳動(dòng)物。狗就繼承了哺乳動(dòng)物。若類之間具有繼承關(guān)系,則他們之間具有什么特征若類之間具有繼承關(guān)系,則他們之間具有下列幾個(gè)特征:1)類間具有共享特征(包括數(shù)據(jù)和操作代碼的共享);2)類間具有差別或新增部分(包括非共享的數(shù)據(jù)和操作代碼);3)類具有層次結(jié)構(gòu)。單繼承是指每個(gè)派生類只直接繼承了一個(gè)基類的特征。例如狗繼承自

5、哺乳動(dòng)物。多繼承是指多個(gè)基類派生出一個(gè)派生類的繼承關(guān)系。比如玩具車同時(shí)繼承自玩 具和車。什么是多態(tài)請(qǐng)舉例說(shuō)明。多態(tài)是指不同的對(duì)象收到相同的消息時(shí)執(zhí)行不同的操作。例如,有一個(gè)窗口類對(duì)象,還有一個(gè)棋子類對(duì)象。當(dāng)我們發(fā)出“移動(dòng)”消息時(shí),兩個(gè)對(duì)象的行為不同。面向?qū)ο蟪绦蛟O(shè)計(jì)的主要優(yōu)點(diǎn)是什么1 .可提高程序的重用性;2 .可控制程序的復(fù)雜性;3 .可改善程序的可維護(hù)性;4 .能夠更好地支持大型程序設(shè)計(jì);5 .增強(qiáng)了計(jì)算機(jī)處理信息的范圍;能夠很好地適應(yīng)新的硬件環(huán)境。簡(jiǎn)述c+的主要特點(diǎn)。1) c+是c的超集,保持與c的兼容。2)保持了 c的簡(jiǎn)潔、高效和接近匯編語(yǔ)言等特點(diǎn),并對(duì)c的功能作了不少擴(kuò) 充。用c+編

6、寫的程序比c更安全,可讀性更好,代碼結(jié)構(gòu)更為合理。3)程序質(zhì)量高。4)增加了面向?qū)ο髾C(jī)制。ttinclude using namespace std;int main ()(int a, b, d, min;cout a b;min = a b b : a;for(d = 2; d min; d+)(if (a % d) = 0) & (b % d ) = 0) break;)if (d = min)(cout no common denominators” endl;return 0;)cout the lowest common denominator is d endl; return

7、0;)有效沒(méi)有函數(shù)聲明;函數(shù)定義沒(méi)有寫返回值類型。(1)等價(jià),函數(shù)聲明可以省略參數(shù)的名字。(2)不等價(jià),第二個(gè)的函數(shù)定義不能省略參數(shù)的名字。cdaabacbdcdc10110 101020舉例說(shuō)明可以使用const替代rdefine以消除#define的不安全性。kinclude using namespace std;int main()(int a = 1;#define t1 a+akdefine t2 tl-tlcout t2 is t2 endl;return 0;)上面這個(gè)程序,初看應(yīng)該輸出t2 is 0但是實(shí)際上,得出t2 is 2如果把#define換成const,則可以輸出想

8、要的結(jié)果。用動(dòng)態(tài)分配空間的方法,計(jì)算fibonacci數(shù)列的前20項(xiàng),并存儲(chǔ)到動(dòng)態(tài)分配 的空間中。#include using namespace std;int main()int *pi = new int 20;*pi = 1;pil = 1;for(int i = 2; i 20; i+)(pii = pii - 2 + pii - 1;)return 0;)重載sroot函數(shù),輸出一個(gè)數(shù)的二次方根。ttinclude using namespace std;double sroot(int num)(return (double)sqrt (double)num);)double s

9、root(long num)(return (double)sqrt(double)num);) double sroot (double num)return (double)sqrt(num);int main()(return 0;)解決百錢問(wèn)題。將一元人民幣換成1、2、5分的硬幣,有多少種換法#include using namespace std;int main() (int num = 0; default constructor called.default constructor called.construcotor:a=l, b=2construcotor:a=3, b=

10、4construcotor:a=5, b=6con.copy con.default.copy con.a=5b=14a=9b=145,7constructingconstructinga=5b-15a=10b=15destructingdestructingvoid pintstu。;函數(shù)只有聲明,沒(méi)有定義。age是私有成員,不能用對(duì)象直接調(diào)用。void printstu()和 void setsno (int s)沒(méi)有加限定符 student:void setage (int a)在類中沒(méi)有聲明構(gòu)造函數(shù)不能定義為私有。否則無(wú)法創(chuàng)建對(duì)象。下面是一個(gè)計(jì)算器類的定義,請(qǐng)完成該類成員函數(shù)的實(shí)現(xiàn)。c

11、lass counterpublic:counter(int number);void increment () ;ult () ;修改,通過(guò)對(duì)象指針訪問(wèn)對(duì)象數(shù)組,使程序以相反的順序顯示每個(gè)對(duì)象數(shù)組元素的qu*price值。class book(private:int qu, price;public:book(int qu);int mult (););book:book(int q)(if(q 5)(qu = 1;)else(qu = q;)price = 10 * qu;int book:mult()return qu * price;)int main ()(book books 5

12、= 1, 2, 3, 4, 5;book *p = books;p += 4;for(int i = 0; i 5; i+) (cout mult() -p;)return 0;)構(gòu)建一個(gè)類stock,含字符數(shù)組stockcode及整型數(shù)組成員quan、雙精度型 數(shù)據(jù)成員price。構(gòu)造函數(shù)含3個(gè)參數(shù):字符數(shù)組na及q、p當(dāng)定義stock 的類對(duì)象時(shí),將對(duì)象的第一個(gè)字符串參數(shù)賦給數(shù)據(jù)成員stockcode,第2和第 3個(gè)參數(shù)分別賦給quan、price。未設(shè)置第2和第3個(gè)參數(shù)時(shí),quan的值為 1000, price的值為.成員函數(shù)print沒(méi)有形參,需使用this指針,顯示對(duì)象 數(shù)據(jù)成員的內(nèi)

13、容。編寫程序顯示對(duì)象數(shù)據(jù)成員的值。ttinclude using namespace std;class stock (private:char stockcode 25;int quan;double price;public:stock (char na, int q = 1000, double p 二;stock(char na);void print (););stock::stock (char na, int q = 1000, double p 二 (strcpy(stockcode, na);quan = q; price = p;) void stock:print() (

14、cout stockcode: stockcode quan: quan price: price endl;)int main()(stock stockl (“600001,3000,;stock stock2(“600002);0;0;return 0;)編寫一個(gè)程序,已有若干學(xué)生的數(shù)據(jù),包括學(xué)號(hào)、姓名、成績(jī),要求輸出這 些學(xué)生的數(shù)據(jù)并計(jì)算出學(xué)生人數(shù)和平均成績(jī)(要求將學(xué)生人數(shù)和總成績(jī)用靜態(tài) 數(shù)據(jù)成員表示)。ttinclude using namespace std;class student(private:char name25, studentno10;int score;stati

15、c int sum;static int totalscore;public:student(char na, char stuno, int sc);void show();static void showtotal(););student:student(char na, char stuno, int sc) (strcpy(name, na);strcpy(studentno, stuno);score = sc;+sum;totalscore += sc;)void student:show()(cout “姓名: name endl;cout 學(xué)號(hào): studentno endl;

16、cout 成績(jī): score endl;)void student:showtotal()(cout 總?cè)藬?shù): sum endl;cout 平均成績(jī): (double) totalscore/sum endl;int student:sum = 0;int student:totalscore = 0;int main ()(student sl(張無(wú)忌,111254, 75);student s2(李莫愁“254114,60);student s3(小龍女,“112587,88);0;0;0;student:showtotal();return 0;)有哪兒種繼承方式每種方式的派生類對(duì)基類成

17、員的繼承性如何公有繼承,私有繼承和保護(hù)繼承?;惖乃接谐蓡T,無(wú)論哪種繼承方式都不能訪問(wèn)。公有繼承不改變基類的公有和保護(hù)成員的訪問(wèn)限制。私有繼承將基類的公有和保護(hù)成員都變成私有。保護(hù)繼承將基類的公有和保護(hù)成員都變成保護(hù)。派生類能否直接訪問(wèn)基類的私有成員若否,應(yīng)如何實(shí)現(xiàn)不能。可以在基類里添加一個(gè)公有成員函數(shù)來(lái)訪問(wèn)私有成員,派生類就能繼 承這個(gè)公有成員函數(shù),實(shí)現(xiàn)對(duì)基類私有成員的訪問(wèn)。保護(hù)成員有哪些特性保護(hù)成員以公有方式或私有方式繼承后的訪問(wèn)特性如何保護(hù)成員只能被本類或本類的派生類所訪問(wèn),在類或派生類外是不能被訪問(wèn) 的。后面一問(wèn)見第一題的答案。派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行順序是怎樣的構(gòu)造函數(shù)是先執(zhí)行

18、父類的構(gòu)造函數(shù),再執(zhí)行類中其他類對(duì)象的構(gòu)造函數(shù),再 執(zhí)行本類的構(gòu)造函數(shù)。如果同級(jí)有多個(gè)構(gòu)造函數(shù),則按聲明順序執(zhí)行。析構(gòu)函數(shù)與構(gòu)造函數(shù)的執(zhí)行順序剛好相反。派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的構(gòu)造規(guī)則是怎樣的派生類名(參數(shù)總表):基類名(參數(shù)總表)(派生類新增數(shù)據(jù)成員的初始化語(yǔ)句)派生類中的析構(gòu)函數(shù)與基類無(wú)關(guān)。什么是多繼承多繼承時(shí),構(gòu)造函數(shù)與析構(gòu)函數(shù)的執(zhí)行順序是怎樣的多繼承是指一個(gè)類同時(shí)繼承自多個(gè)不同的基類。執(zhí)行順序同在類的派生中為何要引入虛基類虛基類構(gòu)造函數(shù)的調(diào)用順序是如何規(guī)定的如果一個(gè)類有多個(gè)直接基類,而這些直接基類又有一個(gè)共同的基類,則在最 底層的派生類中會(huì)保留這個(gè)簡(jiǎn)介的共同基類數(shù)據(jù)成員的多份同名成員

19、。在訪問(wèn) 這些同名成員的時(shí)候,會(huì)產(chǎn)生二義性。為了解決二義性,引入了虛基類。1)如果虛基類中定義有帶形參的構(gòu)造函數(shù),并且沒(méi)有定義默認(rèn)形式的構(gòu)造函 數(shù),則整個(gè)繼承結(jié)構(gòu)中,所有直接或間接的派生類都必須在構(gòu)造函數(shù)的成員初 始化表中列出對(duì)虛基類構(gòu)造函數(shù)的調(diào)用,以初始化在虛基類中定義的數(shù)據(jù)成 員。2)建立一個(gè)對(duì)象時(shí),如果這個(gè)對(duì)象中含有從虛基類繼承來(lái)的成員,則虛基類 的成員是由最遠(yuǎn)派生類的構(gòu)造函數(shù)通過(guò)調(diào)用虛基類的構(gòu)造函數(shù)進(jìn)行初始化的。 該派生類的其他基類對(duì)虛基類構(gòu)造函數(shù)的調(diào)用都自動(dòng)被忽略。3)若同一層次中同時(shí)包含虛基類和非虛基類,應(yīng)先調(diào)用虛基類的構(gòu)造函數(shù), 再調(diào)用非虛基類的構(gòu)造函數(shù),最后調(diào)用派生類的構(gòu)造函數(shù)

20、。accbconstructor bl.constructor b2.constructor a.321主食二bread副食二steak0, 0,00,1,03, 6,9constructor bl.constructor b2.constructor b3.constructor a.4,34(1,2)5,6(6, 9)class baselclass base2class level2class base2class levellclass toplevel#include using namespace std;#include class table(public:table (int

21、 p, int q)(i = p;j = q;)void ascii(void);protected:int i, j;);void table:ascii()(int k = 1;for(; i = j; i+)( (char)i;cout setw(4) i if(k)%12 = 0)cout n;k+;)cout n;)class der-table:public table(public:der_table(int p, int q, char *m):table(p, q)(c 二 m;)void print ();protected:char *c;);void der_table

22、:print ()(cout ctable::ascii ();)int main()der_table ob (j a , z,ascii valuechar);0;return 0;)ftinclude using namespace std;ttinclude class area_cl(protected:double height;double width;public:area_cl(double r, double s)(height = r;width = s;)virtual double area()= 0;);class rectangle : public area c

23、lpublic:rectangle (double r, double s) : area_cl (r, s) virtual double area (););double rectangle:area()(return height * width;)class isosceles : public area-cl(public:isosceles (double r, double s):area_cl(r, s) virtual double area (););double isosceles:area()return (height * width)/2;)int main()(r

24、ectangle r (10, 5);isosceles i (4, 6);a = &r;cout 矩形的面積是: area() endl;a = &i;cout 三角形的面積是: area() endl;return 0;)#include using namespace std;#include class time(public:time(int h, int m, int s)(hours = h;minutes 二 m;seconds = s;)void display()cout 出生時(shí)間: hours 時(shí) minutes 分 seconds 秒 endl;)protected:i

25、nt hours, minutes, seconds;class date(public:date (int m, int d, int y)month = m;day = d;year = y;)void display()(cout “出生年月& year年 month 月 day fl endl;)protected:int month, day, year;class birthtime : public time, public datepublic:birthtime(char name 口, int s) : time (h, mi, s), date (m, d, (strcp

26、y (childname, name )void showname()(cout 我的名字是:)private:char childname25;);int main()(birthtime b(xiaoming, 3, 0;:display ();:display ();m, int d, int y, int h, int mi, inty) childname endl;6, 2012, 11, 12, 42);return 0;)ttinclude using namespace std;ttinclude class person(protected:char number25;ch

27、ar name25;public:person (char num, char nal)(strcpy(number, num);strcpy(name, na);)void showname()( name;cout 編號(hào): number 姓名:);class student : public person private:int classnumber, score;public:student(char num, char na, int enumber, int sc):person(num, na)(classnumber = enumber;score = sc;)void sho

28、w()(showname ();cout 班號(hào): classnumber 成績(jī): score endl;);class teacher : public person(private:char title_25, department25;public:teacher (char num口,char na, char tit , char depart 口):person(num, na) strcpy(title, tit);strcpy(department, depart);)void show()(showname ();cout ”職稱: title 部門: department e

29、ndl;)1.什么是靜態(tài)聯(lián)編什么是動(dòng)態(tài)聯(lián)編?kù)o態(tài)聯(lián)編是指系統(tǒng)在編譯時(shí)就決定如何實(shí)現(xiàn)某一動(dòng)作。動(dòng)態(tài)聯(lián)編是指系統(tǒng)在運(yùn)行時(shí)動(dòng)態(tài)實(shí)現(xiàn)某一動(dòng)作。1.編譯時(shí)的多態(tài)性與運(yùn)行時(shí)的多態(tài)性有什么區(qū)別他們的實(shí)現(xiàn)方式有什么不 同靜態(tài)聯(lián)編支持的多態(tài)性稱為編譯時(shí)多態(tài)性,也稱靜態(tài)多態(tài)性。編譯時(shí)多態(tài)性是 通過(guò)函數(shù)重載和模板實(shí)現(xiàn)的。動(dòng)態(tài)聯(lián)編所支持的多態(tài)性稱為運(yùn)行時(shí)多態(tài)性,也稱動(dòng)態(tài)多態(tài)性。是通過(guò)虛函數(shù) 來(lái)實(shí)現(xiàn)的。1 .簡(jiǎn)述運(yùn)算符重載規(guī)則。a) c+中絕大部分的運(yùn)算符允許重載。b) c+只能對(duì)己有的c+運(yùn)算符進(jìn)行重載。c)運(yùn)算符重載是針對(duì)新類型數(shù)據(jù)的實(shí)際需要,對(duì)原有運(yùn)算符進(jìn)行適當(dāng)?shù)母脑?完成。應(yīng)與原有的功能相類似。d)重載不能改變運(yùn)

30、算符的操作對(duì)象的個(gè)數(shù)。e)重載不能改變運(yùn)算符原有的優(yōu)先級(jí)。f)不能改變?cè)械慕Y(jié)合特性。g)參數(shù)至少應(yīng)有一個(gè)是類對(duì)象。h)重載函數(shù)可以是普通函數(shù),也可以是類的成員函數(shù),也可以是類的友元函 數(shù)。1) 一般用于類對(duì)象的運(yùn)算符除了賦值運(yùn)算符都要重載。1 .友元運(yùn)算符函數(shù)和成員運(yùn)算符函數(shù)有什么不同a)對(duì)于雙目運(yùn)算符,成員運(yùn)算符重載含有一個(gè)參數(shù),友元重載含有兩個(gè)參 數(shù);對(duì)于單目運(yùn)算符,成員重載沒(méi)有參數(shù),友元重載有一個(gè)參數(shù)。b)雙目運(yùn)算符一般可以被重載為友元或成員。但是如果將一個(gè)對(duì)象和一個(gè)普 通類型運(yùn)算,必須重載為友元。c)調(diào)用方式不同。d) 一般,雙目運(yùn)算符用友元,單目運(yùn)算符用成員。如果操作數(shù)有隱式類型轉(zhuǎn)

31、 換,則必須用友元。1 .什么是虛函數(shù)虛函數(shù)與函數(shù)重載有哪些相同點(diǎn)與不同點(diǎn)虛函數(shù)就是在基類中被關(guān)鍵字virtual說(shuō)明,并在派生類中重新定義的函數(shù)。函數(shù)名都相同。重載函數(shù)的參數(shù)個(gè)數(shù)或參數(shù)類型必須有所不同。虛函數(shù)要求函數(shù)名,返回類 型,參數(shù)個(gè)數(shù),參數(shù)的類型和順序與基類中的虛函數(shù)原型完全相同。2 .什么是純虛函數(shù)什么是抽象類純虛函數(shù)是一個(gè)在基類中說(shuō)明的虛函數(shù),它在該基類中沒(méi)有定義,但要求在它 的派生類中根據(jù)需要對(duì)它進(jìn)行定義,或仍說(shuō)明為純虛函數(shù)。如果一個(gè)類至少有一個(gè)純虛函數(shù),那么就稱這個(gè)類為抽象類。7-12 daadcc13.不對(duì),參數(shù)個(gè)數(shù)必須一樣。14.this is c+book.第一個(gè)字符:t

32、第16個(gè)字符:.第26個(gè)字符:數(shù)組下標(biāo)超界!15.m二千米16.#include using namespace std;class twodarrayint a 2 3;public:twodarray ()(for(int i = 0; i 2; i +)twodarray(int b 3)for(int i = 0; i 2; i +)for(int j = 0; j 3; j +) ai j = bij:)void show();twodarray operator+(twodarray n);twodarray operator-(twodarray n);;void twodarr

33、ay:show()(for(int i = 0; i 2; i +)(for(int j = 0; j 3; j +) cout aijj;cout endl;) twodarray twodarray:operator+(twodarray n)twodarray temp;for(int i = 0; i 2; i +)for(int j = 0; j 3; j +)ihj =return temp;)twodarray twodarray:operator-(twodarray n) (twodarray temp;for(int i = 0; i 2; i +)for(int j =

34、0; j 3; j +)return temp;)int main ()int a2 3;for(int i = 0; i 2; i +)for(int j = 0; j aij;twodarray al, a2(a), total, sub;total = al + a2;sub = al - a2;0;0;return 0;)17.ttinclude using namespace std;class twodarray(int a 2 3;public:twodarray ()(for(int i = 0; i 2; i +)for(int j = 0; j 3; j +) = 5;)t

35、wodarray(int b 3)for(int i = 0; i 2; i +)for(int j = 0; j 3; j +)void show();friend twodarray operator+(twodarray m, twodarray n); friend twodarray operator-(twodarray m, twodarray n); );void twodarray:show()(for(int i = 0; i 2; i +)(for(int j = 0; j 3; j +)cout aij;cout endl;)twodarray operator+(tw

36、odarray m, twodarray n)twodarray temp;for(int i = 0; i 2; i +)for(int j = 0; j 3; j +)ihj = return temp;) twodarray operator-(twodarray m, twodarray n)twodarray temp;for(int i = 0; i 2; i +)for(int j = 0; j 3; j +)ihj = return temp;)int main ()int a2 3;for(int i = 0; i 2; i +)for(int j = 0; j ai j;t

37、wodarray al, a2(a), total, sub;total = al + a2;sub = al - a2;0;0;return 0;)18.ttinclude using namespace std;class complex(double real, imag;public:complex(double re, double im)(real = re;imag 二 im;)friend complex operator+(complex a, complex b);void print (););complex operator+(complex a, complex b)

38、(return complex + ,+ ;)void complex:print()(cout ( real , imag ) endl;)int main()complex cl,;complex c2,;complex total = cl + c2;0;return 0;)19.ttinclude using namespace std;const double pi 二;class container(protected:double r, d;如果是圓柱體,r為底面半徑,d為高。如果是正方體, 為邊長(zhǎng),d為0。public:container(double a, double b

39、= 0)(r 二 a;d 二 b;virtual double serface () = 0; cerr 和 clog 間的區(qū)別是cerr不經(jīng)過(guò)緩沖區(qū)直接顯示錯(cuò)誤信息。而clog存放在緩沖區(qū),緩沖區(qū)滿或遇 上endl時(shí)再輸出。c+提供哪兩種控制輸入輸出格式的方法一種是使用ios類中的有關(guān)格式控制的流成員函數(shù)進(jìn)行格式控制,另一種是 使用稱為操縱符的特殊類型的函數(shù)控制。c+進(jìn)行文件輸入輸出的基本過(guò)程是什么首先創(chuàng)建一個(gè)流對(duì)象,然后將這個(gè)流對(duì)象與文件相關(guān)聯(lián),即打開文件,此時(shí) 才能進(jìn)行讀寫操作,讀寫操作完成后再關(guān)閉這個(gè)文件。bcattinclude ttinclude using namespace s

40、td;int factorial (int n)if (n = 0 j i n = 1)return n;return factorial(n-l)*n;int main()for(int i = 1; i = 9; i+)cout setw(5) factorial(i);if (i % 3 = 0)(cout endl;)return 0;)ttinclude ttinclude using namespace std;int main()for (int i = 1; i = 7; i+)(cout setw(16-i);for (int j = 1; j = (2*i - 1); j+

41、)cout a;cout endl;)return 0;)ttinclude #include using namespace std;class matrix(private:int data2 3;public:matrix () friend ostream &operator (ostream &, matrix &);friend istream &operator (istream &, matrix &);friend matrix operator+(matrix &, matrix &);ostream &operator(ostream &os, matrix &a)for

42、(int i = 0; i 2; i+)for(int j = 0; j 3; j+)(os i j-)os (istream &in, matrix &a)(cout ”請(qǐng)輸入一個(gè)2行3列矩陣: endl;for(int i = 0; i 2; i+)(for(int j = 0; j 3; j+)(in i j;) return in;matrix operator+(matrix &a, matrix &b)matrix temp;for(int i = 0; i 2; i+)(for(int j = 0; j m2;total = ml + m2;cout total;return 0;) ttinclude ttinclude using

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論