C面向?qū)ο蟪绦蛟O計習題答案_第1頁
C面向?qū)ο蟪绦蛟O計習題答案_第2頁
C面向?qū)ο蟪绦蛟O計習題答案_第3頁
C面向?qū)ο蟪绦蛟O計習題答案_第4頁
C面向?qū)ο蟪绦蛟O計習題答案_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 面向?qū)ο蟮姆椒▽W1什么是面向?qū)ο蠓椒▽W?解:面向?qū)ο蠓椒▽W就是盡量模擬人類習慣的思維方式,使軟件開發(fā)的方法與過程盡可能接近人類認識世界、解決問題的方法與過程,從而使描述問題的問題空間(即問題域)與實現(xiàn)解法的解空間(即求解域)在結構上盡可能一致。2什么是對象?它與傳統(tǒng)的數(shù)據(jù)有何關系?有什么不同?解:對象是封裝了數(shù)據(jù)結構及可以施加在這些數(shù)據(jù)結構上的操作的封裝體。它與傳統(tǒng)數(shù)據(jù)有本質(zhì)的不同,傳統(tǒng)數(shù)據(jù)是被動地等待對它進行處理,對象是進行處理的主體。3什么是封裝性和繼承性?解:封裝是面向?qū)ο蠓椒ǖ囊粋€重要特點,即將對象的屬性和行為封裝在對象的內(nèi)部,形成一個獨立的單位,并盡可能隱蔽對象的內(nèi)部細節(jié)。繼

2、承性是子類自動共享父類數(shù)據(jù)結構和方法的機制,這是類之間的一種關系。4什么是多態(tài)性?解:多態(tài)性是面向?qū)ο蠓椒ǖ闹匾卣鳌2煌膶ο?,收到同一消息可以產(chǎn)生不同的結果,這種現(xiàn)象稱為多態(tài)性。5試寫出學生管理系統(tǒng)中所涉及的類(屬性和方法)。學生管理系統(tǒng)中學生信息有:姓名、學號、年齡、成績;學生管理系統(tǒng)完成學生信息輸入、學生信息輸出、插入學生信息、刪除學生信息、查找學生信息。解:class Studentprivate: char cName12;/姓名long lNum;/學號 int age; /年齡 float fGrade;/成績public: void Input();/輸入學生信息 void

3、Print();/輸出學生信息 void Insert();/插入學生信息 void Del(); /刪除學生信息 void Find(); /查找學生信息;6目前常用的面向?qū)ο蟪绦蛟O計語言有哪些?各有哪些特點?解:Visual C+6.0支持面向?qū)ο缶幊?、可視化、模塊化、代碼可重用和組件共享等技術,可以大大提高軟件系統(tǒng)的設計、管理和開發(fā)速度。Java語言是一種通用、并發(fā)、基于類的面向?qū)ο蟪绦蛟O計語言。Java語言具有簡捷性、面向?qū)ο?、分布式、健壯性、安全性、可移植性、解釋型、高性能、多線程、動態(tài)性等特點。C#(讀做“C sharp”)是微軟公司發(fā)布的一種面向?qū)ο蟮?、運行于.NET Frame

4、work之上的高級程序設計語言。C#集C語言的簡潔強大、C+的面向?qū)ο?、VB的圖形化設計方法、Java的編譯與執(zhí)行機制等優(yōu)點于一身。C#是創(chuàng)新性的新式編程語言,它巧妙地結合了最常用的行業(yè)語言和研究語言中的功能,并引入了多種潛在的新功能,提高了開發(fā)人員在語言構造方面的效率,將快速的應用程序開發(fā)與對底層平臺各種功能的訪問緊密結合在一起,使得程序員能夠在.NET平臺上快速開發(fā)各種應用程序。7C+支持多態(tài)性主要表現(xiàn)在哪些方面?解:C+支持兩種多態(tài)性,即編譯時的多態(tài)性和運行時的多態(tài)性。編譯時的多態(tài)性是通過重載來實現(xiàn)的,運行時的多態(tài)性是通過虛函數(shù)來實現(xiàn)的。思考題1設計一個棧類,實現(xiàn)的操作有初始化棧、入棧、

5、出棧、判棧空。解:class Stackprivate: int top; int s100;public: void Ini_Stack(); /初始化棧 void Push_Stack(); /入棧 void Pop_Stack(); /出棧 void Empty(); /判???2設計一個隊列類,實現(xiàn)的操作有初始化隊列、入隊、出隊、判隊空。解:class Queueprivate: int front,rear; int que100;public: void Ini_Queue(); /初始化隊列 void In_Queue(); /入隊 void Out_Queue(); /出隊 v

6、oid Empty(); /判隊空;第2章 類 與 對 象1構造函數(shù)和析構函數(shù)的主要作用是什么?解:構造函數(shù)的功能是在創(chuàng)建對象時,給數(shù)據(jù)成員賦初值,即對象的初始化。析構函數(shù)的功能是釋放一個對象,在對象刪除之前,用它來做一些內(nèi)存釋放等清理工作。2什么是this指針?它的主要作用是什么?解:this指針稱為自引用指針。每當對象調(diào)用成員函數(shù)時,系統(tǒng)就將該對象的地址賦給this指針,這時C+編譯器將根據(jù)this指針所指向的對象來確定應該引用哪一個對象的數(shù)據(jù)成員。3什么是友元函數(shù)?解:友元函數(shù)不是當前類中的成員函數(shù),它可以是一個不屬于任何一個類的一般函數(shù)(即非成員函數(shù)),也可以是另外一個類的成員函數(shù)。4

7、什么是靜態(tài)數(shù)據(jù)成員?靜態(tài)數(shù)據(jù)成員的定義和初始化方法是什么?解:類的靜態(tài)數(shù)據(jù)成員擁有一塊單獨的存儲區(qū),不管用戶創(chuàng)建了多少個該類的對象,所有這些對象的靜態(tài)數(shù)據(jù)成員都共享這一塊靜態(tài)存儲空間,是這些對象互相通信的一種方法。靜態(tài)數(shù)據(jù)成員的定義格式:static 類型名 靜態(tài)成員名;靜態(tài)數(shù)據(jù)成員的初始化格式:類型 類名靜態(tài)數(shù)據(jù)成員= 初始化值;5關于構造函數(shù)的敘述正確的是( B )。 A構造函數(shù)可以有返回值B構造函數(shù)的名字必須與類名完全相同 C構造函數(shù)必須帶有參數(shù)D構造函數(shù)必須定義,不能默認6關于析構函數(shù)特征描述正確的是( C )。 A一個類中可以有多個析構函數(shù)B析構函數(shù)名與類名完全相同 C析構函數(shù)不能指

8、定返回類型D析構函數(shù)可以有一個或多個參數(shù)7構造函數(shù)是在( B )時被執(zhí)行的。 A程序編譯B創(chuàng)建對象C創(chuàng)建類D程序裝入內(nèi)存8定義A是一個類,那么執(zhí)行語句“A a, b(3),*p;”調(diào)用了( A )次構造函數(shù)。 A2B3C4D59在下列函數(shù)原型中,可以作為類Base析構函數(shù)的是( B )。 AvoidBaseBBase( )CBase( )const DBase( )10this指針是C+實現(xiàn)( B )的一種機制。 A抽象B封裝C繼承D重載11已知類中的一個成員函數(shù)說明為:void Set (X &a)其中,X &a的含義是( C )。 A指向類X的指針為aB將a 的地址賦給變量 Ca是類X的對

9、象引用,用來作為Set( )的形參 D變量X與a按位與作為函數(shù)Set( )的形參12下面關于友元函數(shù)的描述中,正確的說法是( A )。 A友元函數(shù)是獨立于當前類的外部函數(shù) B一個友元函數(shù)不能同時定義為兩個類的友元函數(shù) C友元函數(shù)必須在類的外部定義 D在外部定義友元函數(shù)時,必須加關鍵字friend13一個類的友元函數(shù)能夠訪問該類的( D )。 A私有成員B保護成員C公有成員D所有成員14友元的作用之一是( A )。 A提高程序的運行效率B加強類的封裝性 C實現(xiàn)數(shù)據(jù)的隱藏性D增強成員函數(shù)的種類15n=1516s=1017Constructing10Destructing20Destructing思

10、考題1定義一個學生類,學生信息有學號、姓名和成績。成績包括計算機、英語、數(shù)學成績和平均分。要求利用隊列實現(xiàn)學生的入隊、出隊和顯示等功能。const int MAXSIZE=5; /queue.hstruct datatypelong no;char name10;float score;class Studentprivate:datatype dataMAXSIZE;int front,rear;int num;public:Student();int In_SeQueue(datatype x);int Out_SeQueue();void Print_SeQueue();/ queue.

11、cpp#include iostreamusing namespace std;#include queue.hint _tmain(int argc, _TCHAR* argv)Student sq;int i;for (i=1;i=3;i+)datatype stu;coutinput no,name,scorestu.no stu.score ;sq.In_SeQueue (stu);coutPrint_SeQueueendl;sq.Print_SeQueue ();sq.Out_SeQueue ();coutAfter Out_SeQueue 0;number-,i=

12、(i+1)%MAXSIZE)coutdatai.no datai.score endl;2定義一個圖書類,圖書信息有圖書名稱、作者、出版社、價格。要求利用棧實現(xiàn)圖書的入庫、出庫和顯示等功能。const int MAXSIZE=5; / stack.hstruct datatypechar name10,author10,publish20;float price;class Stackprivate:datatype dataMAXSIZE;int top;public:Stack();int Push_SeqStack(datatype x);int Pop_SeqSt

13、ack();void Print_SeqStack();/ stack.cpp#include iostreamusing namespace std;#include stack.hint _tmain(int argc, _TCHAR* argv)Stack sq;int i;for (i=1;i=3;i+)datatype b;coutinput name,author,publish, b.author b.publish b.price ;sq.Push_SeqStack(b);coutPrint_SeqStackendl;sq.Print_SeqStack()

14、;sq.Pop_SeqStack ();coutAfter Popendl;sq.Print_SeqStack();return 0;Stack:Stack()top=-1;int Stack:Push_SeqStack(datatype x)if(top=MAXSIZE-1)return(0);elsetop+;datatop=x;return(1);int Stack:Pop_SeqStack()if(top=-1)return 0;elsetop-;return 1;void Stack:Print_SeqStack()int i;for(i=0;i=top;i+)coutdatai.n

15、ame datai.author datai.publish datai.priceendl;3有Distance類和Point類,將Distance類定義為Point類的友元類來實現(xiàn)計算兩點之間距離。/ point.hclass Distance;class Pointpublic:Point(int xx=0,int yy=0)X=xx;Y=yy;friend class Distance;private:int X,Y;class Distancepublic:float fDist(Point a,Point b);/point.cpp#includeiostream#includem

16、ath.husing namespace std;#includepoint.h#include math.hint _tmain(int argc, _TCHAR* argv) Point myp1(1,1),myp2(4,5);Distance d;coutThe distance is: ;coutd.fDist(myp1,myp2)endl; return 0;float Distance:fDist(Point p1,Point p2)double x,y;x=p1.X -p2.X ;y=p1.Y -p2.Y ;return float(sqrt(x*x+y*y);第3章 函數(shù)重載與

17、內(nèi)聯(lián)函數(shù)1為什么要進行函數(shù)重載?解:當函數(shù)實現(xiàn)的是同一類功能,只是部分細節(jié)不同(如參數(shù)的個數(shù)或參數(shù)類型不同)時,利用函數(shù)重載機制可以將這些函數(shù)取成相同的名字,從而使程序易于閱讀和理解,方便記憶和使用。2什么是內(nèi)聯(lián)函數(shù)?解:內(nèi)聯(lián)函數(shù)是一個函數(shù),它與一般函數(shù)的區(qū)別是在使用時可以像宏一樣展開,所以沒有函數(shù)調(diào)用的開銷。因此,使用內(nèi)聯(lián)函數(shù)可以提高系統(tǒng)的執(zhí)行效率。3函數(shù)重載的意義主要在于( A )。 A使用方便,提高可讀性B提高執(zhí)行效率 C減少存儲空間開銷D提高程序可靠性4下面關于重載函數(shù)的說法中正確的是( C )。 A重載函數(shù)一定具有不同的返回值類型B重載函數(shù)形參個數(shù)一定不同 C重載函數(shù)一定有不同的形參

18、列表 D重載函數(shù)名可以不同5一個函數(shù)功能不太復雜,但要求被頻繁調(diào)用,選用( A )。 A內(nèi)聯(lián)函數(shù)B重載函數(shù)C遞歸函數(shù)D嵌套函數(shù)6將函數(shù)聲明為內(nèi)聯(lián)函數(shù)的關鍵字是( C )。 AregisterBstaticCinlineDextern7在內(nèi)聯(lián)函數(shù)內(nèi)允許使用的是( C )。 A循環(huán)語句B開關語句C賦值語句D以上都允許8在C+中,下列關于參數(shù)默認值的描述中正確的是( C )。 A設置參數(shù)默認值時,應當全部設置 B設置參數(shù)默認值后,調(diào)用函數(shù)不能再對參數(shù)賦值 C設置參數(shù)默認值時,應當從右向左設置 D只能在函數(shù)定義時設置參數(shù)默認值9741013思考題1 利用重載求兩個整數(shù)、三個整數(shù)和四個整數(shù)的最小值。#i

19、nclude iostreamusing namespace std;int Min(int x1,int x2);int Min(int x1,int x2,int x3);int Min(int x1,int x2,int x3,int x4);int main()int x1,x2,x3,x4;coutinput x1,x2,x3,x4x1x2x3x4;coutMin(x1,x2)endl;coutMin(x2,x3,x4)endl;coutMin(x1,x2,x3,x4)endl;return 0;int Min(int x1,int x2)return (x1x2 ? x1:x2);

20、int Min(int x1,int x2,int x3)int y;y=x1x2 ? x1:x2;return (yx3 ? y:x3);int Min(int x1,int x2,int x3,int x4)int y1,y2;y1=x1x2 ? x1:x2;y2=x3x4 ? x3:x4;return (y1y2 ? y1:y2);2利用重載計算長方形、正方形、圓、梯形的面積和體積。#include iostreamusing namespace std;float Area(float x,float y);float Area(float x);float Area(float r,

21、const double pi);float Area(float a,float b,float h);float Volumn(float a,float b,float h);float Volumn(float a);float Volumn(float r,const float pi);float Volumn(float a,float b,float a1,float b1,float h);int main()float x,y,z,x1,y1;const float PI=3.14;cout-計算面積-endl;cout輸入長、寬xy;cout長方形的面積是:Area(x,

22、y)endl;cout輸入邊長x;cout正方形的面積是:Area(x)endl;cout輸入半徑x;cout圓的面積是:Area(x,PI)endl;cout輸入上底、下底及高xyz;cout梯形的面積是:Area(x,y,z)endl;cout-計算體積-endl;cout輸入長、寬和高xyz;cout長方形的體積是:Volumn(x,y,z)endl;cout輸入邊長x;cout正方形的體積是:Volumn(x)endl;cout輸入半徑x;cout圓的體積是:Volumn(x,PI)endl;cout輸入上底邊長a、b,下底邊長a1、b1,以及高xyx1y1z;cout梯形的體積是:V

23、olumn(x,y,x1,y1,z)endl;return 0;float Area(float x,float y)return x*y;float Area(float x)return x*x;float Area(float r,const double pi)return pi*r*r;float Area(float a,float b,float h)return (a+b)*h/2;float Volumn(float a,float b,float h)return a*b*h;float Volumn(float a)return a*a*a;float Volumn(fl

24、oat r,const float pi)return 4*pi*r*r*r/3;float Volumn(float a,float b,float a1,float b1,float h)return h*(a*b+(a+a1)*(b+b1)+a1*b1)/6.0;3利用重載實現(xiàn)對10個整數(shù)和10個實數(shù)的排序。#include iostreamusing namespace std;void sort(int a,int n);void sort(float a,int n);int main()const int n=10;int i,an;float bn;cout輸入n個整數(shù)endl

25、;for(i=0;iai;sort(a,n);cout排序結果為:endl;for(i=0;in;i+)coutai ;coutendl;cout輸入n個實數(shù)endl;for(i=0;ibi;sort(b,n);cout排序結果為:endl;for(i=0;in;i+)coutbi ;coutendl;return 0;void sort(int a,int n)int i,j,t;for (i=0;in-1;i+)for (j=i+1;jn;j+)if(aiaj)t=ai;ai=aj;aj=t;void sort(float a,int n)int i,j;float t;for (i=0;

26、in-1;i+)for (j=i+1;jn;j+)if(aiaj)t=ai;ai=aj;aj=t;第4章 常量與引用1使用const的優(yōu)點是什么?應該注意哪些問題?答:使用const的好處是它允許指定一種語意上的約束:某種對象不能被修改而由編譯器具體來實施這種約束。通過const,可以通知編譯器和其他程序員某個值要保持不變。注意問題:(1) 盡量把const定義放進頭文件里,由此通過包含頭文件,把const定義放在一個需要放置的地方,并由編譯器分配給它一個編譯單元。(2) 當定義一個常量(const)時,必須初始化,即賦初值給它,除非用extern做了清楚的說明。2指出下面非法的定義。(D)

27、Aint I;Bconst int ic;Cconst int *pic;Dint *const cpi;3下列哪些初始化為合法的?指出原因。(D) Aint i=1;Bconst int ic=I;Cconst int *pic=⁣ Dint *const cpi=⁣E const int *const cpic=⁣4根據(jù)第3題,以下賦值哪些是非法的?為什么?(E) Ai=ic;Bpic=cpic;Cpic=⁣Dcpic=⁣ Ecpi=pic;Fic=*cpic;5下列定義中,哪些是無效的?為什么?如何改正?(BDFGIJ) Aint i=1.02;Bint &

28、j=1.002;Cint & k=i;Dint &m=&i; Eint *pi=&i;Fint &n=pi;Gint &p=*pi;Hint &* pval=pi; Iconst int &iv=1;Jconst int &* pval=&ival;6下面的類型聲明中正確的是(D)。 Aint &a4;Bint &*p;Cint &q;Dint i,*p=&i;7建立一個包含const成員的類,在構造函數(shù)初始化表達式里初始化這個const成員,建立一個無標記的枚舉,用它決定一個數(shù)組的大小。class conClass const int NUM; public: conClass();conC

29、lass:conClass():NUM(100)8建立一個類,該類具有const和非const成員函數(shù)。建立這個類的const和非const對象,試著為不同類型的對象調(diào)用不同類型的成員函數(shù)。class Studentint No;char Name20;public:Student();int GetNo()const;/const成員函數(shù)const char* GetName();/返回值為const的成員函數(shù),不是const成員函數(shù);int Student:GetNo()constreturn No;const char* Student:GetName()return Name;9引用的

30、使用規(guī)則是什么?答:(1) 當引用被創(chuàng)建時,它必須被初始化(指針則可以在任何時候被初始化)。(2) 一旦一個引用被初始化為指向一個對象,它就不能被改變?yōu)閷α硪粋€對象的引用(指針則可以在任何時候指向另一個對象)。(3) 沒有NULL引用。必須確保引用是和一個合法的存儲單元關聯(lián)。10寫一個帶有拷貝構造函數(shù)的類,并編寫一個測試它的程序,以觀察在值傳遞時,拷貝構造函數(shù)是否被調(diào)用。class Studentstatic int number;public:Student() number+; show(Student);/拷貝構造函數(shù)Student(const Student&) number+; sh

31、ow(Student);int Student:number=0;Student f(Student x)x.show(x inside f();return x;int main()Student h1;Student h2=f(h1);Student:show(after call f();return 0;11.略第5章 靜態(tài)與命名控制1下列靜態(tài)數(shù)據(jù)成員的特性中,錯誤的是( D )。 A說明靜態(tài)數(shù)據(jù)成員時,前邊要加關鍵字static B靜態(tài)數(shù)據(jù)成員在類外進行初始化 C引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加和作用域運算符 D靜態(tài)數(shù)據(jù)成員不是所有對象所共有的2下列關于靜態(tài)數(shù)據(jù)成員的敘述,

32、錯誤的是( A )。 A靜態(tài)數(shù)據(jù)成員在對象調(diào)用析構函數(shù)后,從內(nèi)存中撤銷 B即使沒有實例化類,靜態(tài)數(shù)據(jù)成員也可以通過類名進行訪問 C類的靜態(tài)數(shù)據(jù)成員是該類所有對象所共享 D類的靜態(tài)數(shù)據(jù)成員需要初始化3下列關于靜態(tài)成員的敘述中,錯誤的是( B )。 A類的外部可以直接調(diào)用類的靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù) B與一般成員一樣,只有通過對象才能訪問類的靜態(tài)成員 C類的靜態(tài)數(shù)據(jù)成員不能在構造函數(shù)中初始化 D類的一般成員函數(shù)可以調(diào)用類的靜態(tài)成員4聲明類的成員為靜態(tài)成員,必須在其前面加上關鍵字( B )。 AconstBstaticCpublicDvirtual 5靜態(tài)成員為該類的所有( B )共享。 A成員B

33、對象Cthis指針D友元6程序運行結果:1237程序運行結果:CStatic:val=10思考題1利用靜態(tài)數(shù)據(jù)成員的概念,編寫一個類,統(tǒng)計目前存在多少個該類的對象。class Aprivate:static int n;public:A()n+;void Print()coutnendl;int A:n=0;int main()A a1;a1.Print();A a5,a2;a2.Print ();return 0;2利用靜態(tài)數(shù)據(jù)成員的概念,編寫一個學生類,學生信息包括姓名、學號、成績;統(tǒng)計學生的總人數(shù)及總成績,并輸出。#include iostream#includeiomanipusing

34、 namespace std;class Studentprivate:char *name;int stu_no;float score;static int total_num;static float total_score;public:Student(char *na,int no,float sco);void Print();int Student:total_num =0;float Student:total_score =0;int main()Student s1(張明,1,90);s1.Print();Student s2(王蘭,2,95);s2.Print();Stu

35、dent s3(于敏,3,87);s3.Print();return 0;Student:Student(char *na,int no,float sco)name=new charstrlen(na)+1;strcpy(name,na);stu_no=no;score=sco;total_num+;total_score=total_score+score;void Student:Print() cout第total_num個學生:namesetw(4)stu_nosetw(4)score endl;cout總人數(shù)是:total_numendl;cout總分數(shù)是:total_scoree

36、ndl;3利用靜態(tài)的概念,編寫一個小貓類,統(tǒng)計并輸出每個小貓的重量、小貓的總數(shù)量及總重量。class small_cat / cat.hprivate:double weight;static double total_weight;static double total_number;public:small_cat(double w):weight(w)total_weight=total_weight+weight;total_number=total_number+1;void Print()couttotal_weight total_numberB+C=D+4程序的運行結果: x:

37、10 ,y:20x:10 ,y:205程序的運行結果:a=50 b=60a=-50 b=-60a=50 b=606程序的運行結果:i1:5 i2:3 i3:6 i1:6 i2:4 i3:7思考題1重載減法運算符,實現(xiàn)兩個字符串相減。#include iostreamusing namespace std;class Stringprivate:char *buffer;int length;public:String(char *in_str);const String &operator -=(const String &); /聲明-=運算符重載函數(shù)void ShowString();St

38、ring();int main()String s1(happy birthday),s2(birthday);s1-=s2;s1.ShowString ();return 0;String:String(char *in_str)length=strlen(in_str);buffer=new charlength+1;strcpy(buffer,in_str);const String & String:operator -=(const String &sub_str) /定義+=運算符重載函數(shù)char *temp=buffer; /指向原字符串所占空間buffer=new charle

39、ngth+1; /重新分配空間int i,j,k;i=0;j=0;k=0;while(istrlen(temp) & jsub_str.length )if (tempi!=sub_str.bufferj)bufferk=tempi;k+;elsej+;i+;while (istrlen(temp)bufferk=tempi;k+;i+;bufferk=0;delete temp; /釋放原字符串所占空間return *this;void String:ShowString()coutbufferendl;String:String()delete buffer;2編寫一個程序,用成員函數(shù)重載

40、運算符“+”和“-”,實現(xiàn)兩個二維數(shù)組相加和相減,要求第一個二維數(shù)組的值由構造函數(shù)設置,另一個二維數(shù)組的值由鍵盤輸入。const int m=3;const int n=4;class Matrix / matrix.hprivate:int amn;public:Matrix();Matrix(int bn);Matrix operator +(Matrix b);Matrix operator -(Matrix b);void Print();/ matrix.cpp#includeiostreamusing namespace std;#include matrix.hint main(

41、 )Matrix a,c;int xmn;int i,j;coutinput Matrixendl;for(i=0;im;i+)for(j=0;jxij;Matrix b(x);c=a+b;coutendlc=a+bendl;c.Print ();c=a-b;coutendlc=a-bendl;c.Print ();return 0;Matrix:Matrix()int i,j;for (i=0;im;i+)for(j=0;jn;j+)aij=2;Matrix:Matrix(int bn)int i,j;for (i=0;im;i+)for(j=0;jn;j+)aij=bij;Matrix M

42、atrix:operator +(Matrix b)Matrix c;int i,j;for (i=0;im;i+)for(j=0;jn;j+)c.aij=aij+b.aij;return c;Matrix Matrix:operator -(Matrix b)Matrix c;int i,j;for (i=0;im;i+)for(j=0;jn;j+)c.aij=aij-b.aij;return c;void Matrix:Print()int i,j;for(i=0;im;i+)for(j=0;jn;j+)coutaij ;coutendl;3同題2,用友元函數(shù)重載運算符“+”和“-”實現(xiàn)兩

43、個二維數(shù)組相加和相減。const int m=3; / matrix.hconst int n=4;class Matrixprivate:int amn;public:Matrix();Matrix(int bn);friend Matrix operator +(Matrix a,Matrix b);friend Matrix operator -(Matrix a,Matrix b);void Print();/matrix.cpp#includeiostreamusing namespace std;#include matrix.hint main( )Matrix a,c;int xmn;int i,j;coutinput Matrixendl;for(i=0;im;i+)for(j=0

溫馨提示

  • 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

提交評論