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

下載本文檔

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

文檔簡介

文件編碼(GHTU-UITID-GGBKT-POIU-WUUI-8968)文件編碼(GHTU-UITID-GGBKT-POIU-WUUI-8968)C面向?qū)ο蟪绦蛟O(shè)計(jì)教程第版陳維興林小茶課后習(xí)題答案及解析C++面向?qū)ο蟪绦蛟O(shè)計(jì)教程課后題答案??什么是面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)是一種新的程序設(shè)計(jì)范型.這種范型的主要特征是:程序=對(duì)象+消息面向?qū)ο蟪绦虻幕驹厥菍?duì)象。主要結(jié)構(gòu)特點(diǎn)是:第一,??程序一般由類的定義和類的使用兩部分組成;第二,??程序中的一切操作都是通過向?qū)ο蟀l(fā)送消息來實(shí)現(xiàn)的。???什么是對(duì)象什么是類對(duì)象與類之間的關(guān)系是什么對(duì)象是描述其屬性的數(shù)據(jù)以及對(duì)這些數(shù)據(jù)施加的一組操作封裝在一起構(gòu)成的統(tǒng)一體。類就是具有相同的數(shù)據(jù)和相同的操作的一組對(duì)象的集合,也就是說,類是對(duì)具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的一類對(duì)象的描述。類和對(duì)象之間的關(guān)系是抽象和具體的關(guān)系。類是多個(gè)對(duì)象進(jìn)行綜合抽象的結(jié)果,一個(gè)對(duì)象是類的一個(gè)實(shí)例。???現(xiàn)實(shí)世界中的對(duì)象有哪些特征請(qǐng)舉例說明。現(xiàn)實(shí)世界中的對(duì)象具有以下特征:1)????????每一個(gè)對(duì)象必須有一個(gè)名字以區(qū)別于其他對(duì)象;2)????????用屬性來描述對(duì)象的某些特征;3)????????有一組操作,每組操作決定對(duì)象的一種行為;4)????????對(duì)象的行為可以分為兩類:一類是作用于自身的行為,另一類是作用于其他對(duì)象的行為。例如一個(gè)教師是一個(gè)對(duì)象。每個(gè)教師對(duì)象有自己的名字來和別的教師區(qū)別。教師具有編號(hào),姓名,年齡,職稱,專業(yè)等屬性。教師擁有走路,吃飯,授課等行為操作。走路,吃飯是作用于自身的行為,授課是作用于其他對(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)舉例說明。抽象是將有關(guān)事物的共性歸納、集中的過程。例如:把所有具有大學(xué)生學(xué)籍的人歸為一類,成為“大學(xué)生”,這就是一個(gè)抽象。封裝是指把數(shù)據(jù)和實(shí)現(xiàn)操作的代碼集中起來放在對(duì)象內(nèi)部,并盡可能隱藏對(duì)象的內(nèi)部細(xì)節(jié)。例如:每一臺(tái)洗衣機(jī)都有出廠日期、機(jī)器編號(hào)等屬性,也有啟動(dòng)、暫停、選擇等操作。人們?cè)谑褂孟匆聶C(jī)的時(shí)候只需要按下對(duì)應(yīng)的按鈕,而不用關(guān)心具體的內(nèi)部實(shí)現(xiàn)。這就是封裝。???什么是繼承請(qǐng)舉例說明。繼承就是允許派生類使用基類的數(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)。???什么是單繼承、多繼承請(qǐng)舉例說明。單繼承是指每個(gè)派生類只直接繼承了一個(gè)基類的特征。例如狗繼承自哺乳動(dòng)物。多繼承是指多個(gè)基類派生出一個(gè)派生類的繼承關(guān)系。比如玩具車同時(shí)繼承自玩具和車。???什么是多態(tài)請(qǐng)舉例說明。多態(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)是什么可提高程序的重用性;可控制程序的復(fù)雜性;可改善程序的可維護(hù)性;能夠更好地支持大型程序設(shè)計(jì);增強(qiáng)了計(jì)算機(jī)處理信息的范圍;能夠很好地適應(yīng)新的硬件環(huán)境。簡述C++的主要特點(diǎn)。1)????????C++是C的超集,保持與C的兼容。2)????????保持了C的簡潔、高效和接近匯編語言等特點(diǎn),并對(duì)C的功能作了不少擴(kuò)充。用C++編寫的程序比C更安全,可讀性更好,代碼結(jié)構(gòu)更為合理。3)????????程序質(zhì)量高。4)????????增加了面向?qū)ο髾C(jī)制。?#include<iostream>usingnamespacestd;intmain(){inta,b,d,min;cout<<"Entertwonumbers:";cin>>a>>b;min=a>bb:a;for(d=2;d<min;d++){if(((a%d)==0)&&((b%d)==0))break;}if(d==min){cout<<"Nocommondenominators"<<endl;return0;}cout<<"Thelowestcommondenominatoris"<<d<<endl;return0;}?有效?沒有函數(shù)聲明;????????函數(shù)定義沒有寫返回值類型。?(1)等價(jià),函數(shù)聲明可以省略參數(shù)的名字。????????(2)不等價(jià),第二個(gè)的函數(shù)定義不能省略參數(shù)的名字。?CDAAB?ACBDC?DC?101?1010?1020?舉例說明可以使用const替代#define以消除#define的不安全性。#include<iostream>usingnamespacestd;intmain(){inta=1;#defineT1a+a#defineT2T1-T1cout<<"T2is"<<T2<<endl;return0;}上面這個(gè)程序,初看應(yīng)該輸出T2is0但是實(shí)際上,得出T2is2?如果把#define換成const,則可以輸出想要的結(jié)果。?用動(dòng)態(tài)分配空間的方法,計(jì)算Fibonacci數(shù)列的前20項(xiàng),并存儲(chǔ)到動(dòng)態(tài)分配的空間中。#include<iostream>usingnamespacestd;intmain(){int*pi=newint[20];*pi=1;pi[1]=1;for(inti=2;i<20;i++){pi[i]=pi[i-2]+pi[i-1];}return0;}?重載sroot函數(shù),輸出一個(gè)數(shù)的二次方根。#include<iostream>usingnamespacestd;doublesroot(intnum){return(double)sqrt((double)num);}doublesroot(longnum){return(double)sqrt((double)num);}doublesroot(doublenum){return(double)sqrt(num);}intmain(){return0;}解決百錢問題。將一元人民幣換成1、2、5分的硬幣,有多少種換法#include<iostream>usingnamespacestd;intmain(){intnum=0;????????Defaultconstructorcalled.????????Defaultconstructorcalled.????????Construcotor:a=1,b=2????????Construcotor:a=3,b=4????????Construcotor:a=5,b=6?????????Con.????????Copycon.????????default.????????Copycon.?????????A=5????????B=14????????A=9????????B=14?????????5,7?????????????????Constructing????????Constructing????????A=5????????B=15????????A=10????????B=15????????Destructing????????Destructing?????????voidpintStu();函數(shù)只有聲明,沒有定義。????????age是私有成員,不能用對(duì)象直接調(diào)用。?????????voidprintStu()和voidsetSno(ints)沒有加限定符Student::????????voidsetAge(inta)在類中沒有聲明?????????構(gòu)造函數(shù)不能定義為私有。否則無法創(chuàng)建對(duì)象。?下面是一個(gè)計(jì)算器類的定義,請(qǐng)完成該類成員函數(shù)的實(shí)現(xiàn)。classcounter{public:counter(intnumber);voidincrement();ult()<<"";}}?修改,通過對(duì)象指針訪問對(duì)象數(shù)組,使程序以相反的順序顯示每個(gè)對(duì)象數(shù)組元素的qu*price值。classbook{private:intqu,price;public:book(intqu);intmult();};book::book(intq){if(q<1||q>5){qu=1;}else{qu=q;}price=10*qu;}intbook::mult(){returnqu*price;}intmain(){bookbooks[5]={1,2,3,4,5};book*p=books;p+=4;for(inti=0;i<5;i++){cout<<p->mult()<<"";--p;}return0;}?構(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沒有形參,需使用this指針,顯示對(duì)象數(shù)據(jù)成員的內(nèi)容。編寫程序顯示對(duì)象數(shù)據(jù)成員的值。#include<iostream>usingnamespacestd;classStock{private:charstockcode[25];intquan;doubleprice;public:Stock(charna[],intq=1000,doublep=;Stock(charna[]);voidprint();};Stock::Stock(charna[],intq=1000,doublep={strcpy(stockcode,na);quan=q;price=p;}voidStock::print(){cout<<"stockcode:"<<this->stockcode<<"quan:"<<this->quan<<"price:"<<this->price<<endl;}intmain(){Stockstock1("600001",3000,;Stockstock2("600002");();();return0;}?編寫一個(gè)程序,已有若干學(xué)生的數(shù)據(jù),包括學(xué)號(hào)、姓名、成績,要求輸出這些學(xué)生的數(shù)據(jù)并計(jì)算出學(xué)生人數(shù)和平均成績(要求將學(xué)生人數(shù)和總成績用靜態(tài)數(shù)據(jù)成員表示)。#include<iostream>usingnamespacestd;classstudent{private:charname[25],studentNo[10];intscore;staticintsum;staticinttotalScore;public:student(charna[],charstuNo[],intsc);voidshow();staticvoidshowTotal();};student::student(charna[],charstuNo[],intsc){strcpy(name,na);strcpy(studentNo,stuNo);score=sc;++sum;totalScore+=sc;}voidstudent::show(){cout<<"姓名:"<<name<<endl;cout<<"學(xué)號(hào):"<<studentNo<<endl;cout<<"成績:"<<score<<endl;}voidstudent::showTotal(){cout<<"總?cè)藬?shù):"<<sum<<endl;cout<<"平均成績:"<<(double)totalScore/sum<<endl;}intstudent::sum=0;intstudent::totalScore=0;intmain(){students1("張無忌","111254",75);students2("李莫愁","254114",60);students3("小龍女","112587",88);();();();student::showTotal();return0;}有哪幾種繼承方式每種方式的派生類對(duì)基類成員的繼承性如何????????公有繼承,私有繼承和保護(hù)繼承。????????基類的私有成員,無論哪種繼承方式都不能訪問。????????公有繼承不改變基類的公有和保護(hù)成員的訪問限制。????????私有繼承將基類的公有和保護(hù)成員都變成私有。????????保護(hù)繼承將基類的公有和保護(hù)成員都變成保護(hù)。?派生類能否直接訪問基類的私有成員若否,應(yīng)如何實(shí)現(xiàn)????????不能??梢栽诨惱锾砑右粋€(gè)公有成員函數(shù)來訪問私有成員,派生類就能繼承這個(gè)公有成員函數(shù),實(shí)現(xiàn)對(duì)基類私有成員的訪問。?保護(hù)成員有哪些特性保護(hù)成員以公有方式或私有方式繼承后的訪問特性如何????????保護(hù)成員只能被本類或本類的派生類所訪問,在類或派生類外是不能被訪問的。????????后面一問見第一題的答案。?派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行順序是怎樣的????????構(gòu)造函數(shù)是先執(zhí)行父類的構(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ù)成員的初始化語句}派生類中的析構(gòu)函數(shù)與基類無關(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è)簡介的共同基類數(shù)據(jù)成員的多份同名成員。在訪問這些同名成員的時(shí)候,會(huì)產(chǎn)生二義性。為了解決二義性,引入了虛基類。1)????????如果虛基類中定義有帶形參的構(gòu)造函數(shù),并且沒有定義默認(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ì)象中含有從虛基類繼承來的成員,則虛基類的成員是由最遠(yuǎn)派生類的構(gòu)造函數(shù)通過調(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ù)。?ACCB?????????ConstructorB1.????????ConstructorB2.????????ConstructorA.????????3????????2????????1?????????主食=bread????????副食=steak?????????0,0,0????????0,1,0????????3,6,9?????????ConstructorB1.????????ConstructorB2.????????ConstructorB3.????????ConstructorA.????????1????????2????????4,3?????????4?(1,2)5,6(6,9)?????????classbase1????????classbase2????????classlevel2????????classbase2????????classlevel1????????classtoplevel?#include<iostream>usingnamespacestd;#include<iomanip>classtable{public:table(intp,intq){i=p;j=q;}voidascii(void);protected:inti,j;};voidtable::ascii(){intk=1;for(;i<=j;i++){cout<<setw(4)<<i<<""<<(char)i;if((k)%12==0){cout<<"\n";}k++;}cout<<"\n";}classder_table:publictable{public:der_table(intp,intq,char*m):table(p,q){c=m;}voidprint();protected:char*c;};voidder_table::print(){cout<<c<<"\n";table::ascii();}intmain(){der_tableob('a','z',"ASCIIvalue---char");();return0;}

?#include<iostream>usingnamespacestd;#include<iomanip>classarea_c1{protected:doubleheight;doublewidth;public:area_c1(doubler,doubles){height=r;width=s;}virtualdoublearea()=0;};classrectangle:publicarea_c1{public:rectangle(doubler,doubles):area_c1(r,s){}virtualdoublearea();};doublerectangle::area(){returnheight*width;}classisosceles:publicarea_c1{public:isosceles(doubler,doubles):area_c1(r,s){}virtualdoublearea();};doubleisosceles::area(){return(height*width)/2;}intmain(){rectangler(10,5);isoscelesi(4,6);area_c1*a;a=&r;cout<<"矩形的面積是:"<<a->area()<<endl;a=&i;cout<<"三角形的面積是:"<<a->area()<<endl;return0;}?#include<iostream>usingnamespacestd;#include<iomanip>classTime{public:Time(inth,intm,ints){hours=h;minutes=m;seconds=s;}voiddisplay(){cout<<"出生時(shí)間:"<<hours<<"時(shí)"<<minutes<<"分"<<seconds<<"秒"<<endl;}protected:inthours,minutes,seconds;};classDate{public:Date(intm,intd,inty){month=m;day=d;year=y;}voiddisplay(){cout<<"出生年月:"<<year<<"年"<<month<<"月"<<day<<"日"<<endl;}protected:intmonth,day,year;};classBirthtime:publicTime,publicDate{public:Birthtime(charname[],intm,intd,inty,inth,intmi,ints):Time(h,mi,s),Date(m,d,y){strcpy(Childname,name);}voidshowName(){cout<<"我的名字是:"<<Childname<<endl;}private:charChildname[25];};intmain(){Birthtimeb("xiaoming",3,6,2012,11,12,42);();::display();::display();return0;}?#include<iostream>usingnamespacestd;#include<iomanip>classperson{protected:charnumber[25];charname[25];public:person(charnum[],charna[]){strcpy(number,num);strcpy(name,na);}voidshowName(){cout<<"編號(hào):"<<number<<"姓名:"<<name;}};classstudent:publicperson{private:intclassNumber,score;public:student(charnum[],charna[],intcNumber,intsc):person(num,na){classNumber=cNumber;score=sc;}voidshow(){showName();cout<<"班號(hào):"<<classNumber<<"成績:"<<score<<endl;}};classteacher:publicperson{private:chartitle[25],department[25];public:teacher(charnum[],charna[],chartit[],chardepart[]):person(num,na){strcpy(title,tit);strcpy(department,depart);}voidshow(){showName();cout<<"職稱:"<<title<<"部門:"<<department<<endl;}}什么是靜態(tài)聯(lián)編什么是動(dòng)態(tài)聯(lián)編????????靜態(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)作。編譯時(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)性是通過函數(shù)重載和模板實(shí)現(xiàn)的。動(dòng)態(tài)聯(lián)編所支持的多態(tài)性稱為運(yùn)行時(shí)多態(tài)性,也稱動(dòng)態(tài)多態(tài)性。是通過虛函數(shù)來實(shí)現(xià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)算符的操作對(duì)象的個(gè)數(shù)。e)????????重載不能改變運(yùn)算符原有的優(yōu)先級(jí)。f)?????????不能改變?cè)械慕Y(jié)合特性。g)????????參數(shù)至少應(yīng)有一個(gè)是類對(duì)象。h)????????重載函數(shù)可以是普通函數(shù),也可以是類的成員函數(shù),也可以是類的友元函數(shù)。i)??????????一般用于類對(duì)象的運(yùn)算符除了賦值運(yùn)算符都要重載。?友元運(yùn)算符函數(shù)和成員運(yùn)算符函數(shù)有什么不同a)????????對(duì)于雙目運(yùn)算符,成員運(yùn)算符重載含有一個(gè)參數(shù),友元重載含有兩個(gè)參數(shù);對(duì)于單目運(yùn)算符,成員重載沒有參數(shù),友元重載有一個(gè)參數(shù)。b)????????雙目運(yùn)算符一般可以被重載為友元或成員。但是如果將一個(gè)對(duì)象和一個(gè)普通類型運(yùn)算,必須重載為友元。c)????????調(diào)用方式不同。d)????????一般,雙目運(yùn)算符用友元,單目運(yùn)算符用成員。如果操作數(shù)有隱式類型轉(zhuǎn)換,則必須用友元。?什么是虛函數(shù)虛函數(shù)與函數(shù)重載有哪些相同點(diǎn)與不同點(diǎn)虛函數(shù)就是在基類中被關(guān)鍵字virtual說明,并在派生類中重新定義的函數(shù)。函數(shù)名都相同。重載函數(shù)的參數(shù)個(gè)數(shù)或參數(shù)類型必須有所不同。虛函數(shù)要求函數(shù)名,返回類型,參數(shù)個(gè)數(shù),參數(shù)的類型和順序與基類中的虛函數(shù)原型完全相同。?什么是純虛函數(shù)什么是抽象類純虛函數(shù)是一個(gè)在基類中說明的虛函數(shù),它在該基類中沒有定義,但要求在它的派生類中根據(jù)需要對(duì)它進(jìn)行定義,或仍說明為純虛函數(shù)。如果一個(gè)類至少有一個(gè)純虛函數(shù),那么就稱這個(gè)類為抽象類。?7-12DAADCC?13.????????不對(duì),參數(shù)個(gè)數(shù)必須一樣。?14.76?15.Thisisc++book.第一個(gè)字符:T第16個(gè)字符:.第26個(gè)字符:數(shù)組下標(biāo)超界!?16.m=千米?17.#include<iostream>usingnamespacestd;classtwoDArray{inta[2][3];public:twoDArray(){for(inti=0;i<2;i++)for(intj=0;j<3;j++)a[i][j]=5;}twoDArray(intb[][3]){for(inti=0;i<2;i++)for(intj=0;j<3;j++)a[i][j]=b[i][j];}voidshow();twoDArrayoperator+(twoDArrayn);twoDArrayoperator-(twoDArrayn);};voidtwoDArray::show(){for(inti=0;i<2;i++){for(intj=0;j<3;j++)cout<<a[i][j];cout<<endl;}}twoDArraytwoDArray::operator+(twoDArrayn){twoDArraytemp;for(inti=0;i<2;i++)for(intj=0;j<3;j++)[i][j]=a[i][j]+[i][j];returntemp;}twoDArraytwoDArray::operator-(twoDArrayn){twoDArraytemp;for(inti=0;i<2;i++)for(intj=0;j<3;j++)[i][j]=a[i][j]-[i][j];returntemp;}intmain(){inta[2][3];for(inti=0;i<2;i++)for(intj=0;j<3;j++)cin>>a[i][j];twoDArraya1,a2(a),total,sub;total=a1+a2;sub=a1-a2;();();return0;}?18.#include<iostream>usingnamespacestd;classtwoDArray{inta[2][3];public:twoDArray(){for(inti=0;i<2;i++)for(intj=0;j<3;j++)a[i][j]=5;}twoDArray(intb[][3]){for(inti=0;i<2;i++)for(intj=0;j<3;j++)a[i][j]=b[i][j];}voidshow();friendtwoDArrayoperator+(twoDArraym,twoDArrayn);friendtwoDArrayoperator-(twoDArraym,twoDArrayn);};voidtwoDArray::show(){for(inti=0;i<2;i++){for(intj=0;j<3;j++)cout<<a[i][j];cout<<endl;}}twoDArrayoperator+(twoDArraym,twoDArrayn){twoDArraytemp;for(inti=0;i<2;i++)for(intj=0;j<3;j++)[i][j]=[i][j]+[i][j];returntemp;}twoDArrayoperator-(twoDArraym,twoDArrayn){twoDArraytemp;for(inti=0;i<2;i++)for(intj=0;j<3;j++)[i][j]=[i][j]-[i][j];returntemp;}intmain(){inta[2][3];for(inti=0;i<2;i++)for(intj=0;j<3;j++)cin>>a[i][j];twoDArraya1,a2(a),total,sub;total=a1+a2;sub=a1-a2;();();return0;}?19.#include<iostream>usingnamespacestd;classcomplex{doublereal,imag;public:complex(doublere,doubleim){real=re;imag=im;}friendcomplexoperator+(complexa,complexb);voidprint();};complexoperator+(complexa,complexb){returncomplex+,+;}voidcomplex::print(){cout<<"("<<real<<","<<imag<<")"<<endl;}intmain(){complexc1,;complexc2,;complextotal=c1+c2;();return0;}?20.#include<iostream>usingnamespacestd;constdoublePI=;classContainer{protected:doubler,d;如果是圓柱體,r為底面半徑,d為高。如果是正方體,r為邊長,d為0。public:Container(doublea,doubleb=0){r=a;d=b;}virtualdoubleserface()=0;cerr和clog間的區(qū)別是????????cerr不經(jīng)過緩沖區(qū)直接顯示錯(cuò)誤信息。而clog存放在緩沖區(qū),緩沖區(qū)滿或遇上endl時(shí)再輸出。?C++提供哪兩種控制輸入輸出格式的方法????????一種是使用ios類中的有關(guān)格式控制的流成員函數(shù)進(jìn)行格式控制,另一種是使用稱為操縱符的特殊類型的函數(shù)控制。?C++進(jìn)行文件輸入輸出的基本過程是什么????????首先創(chuàng)建一個(gè)流對(duì)象,然后將這個(gè)流對(duì)象與文件相關(guān)聯(lián),即打開文件,此時(shí)才能進(jìn)行讀寫操作,讀寫操作完成后再關(guān)閉這個(gè)文件。?BCA?#include<iostream>#include<iomanip>usingnamespacestd;intfactorial(intn){if(n==0||n==1)returnn;returnfactorial(n-1)*n;}intmain(){for(inti=1;i<=9;i++){cout<<setw(5)<<factorial(i);if(i%3==0){cout<<endl;}}return0;}?#include<iostream>#include<iomanip>usingnamespacestd;intmain(){for(inti=1;i<=7;i++){cout<<setw(16-i);for(intj=1;j<=(2*i-1);j++){cout<<'A';}cout<<endl;}return0;}?#include<iostream>#include<iomanip>usingnamespacestd;classmatrix{private:intdata[2][3];public:matrix(){}friendostream&operator<<(ostream&,matrix&);friendistream&operator>>(istream&,matrix&);friendmatrixoperator+(matrix&,matrix&);};ostream&operator<<(ostream&os,matrix&a){for(inti=0;i<2;i++){for(intj=0;j<3;j++){os<<[i][j]<<"";}os<<endl;}returnos;}istream&operator>>(istream&in,matrix&a){cout<<"請(qǐng)輸入一個(gè)2行3列矩陣:"<<endl;for(inti=0;i<2;i++){for(intj=0;j<3;j++){in>>[i][j];}}returnin;}matrixoperator+(matrix&a,matrix&b){matrixtemp;for(inti=0;i<2;i++){for(intj=0;j<3;j++){[i][j]=[i][j]+[i][j];}}returntemp;}intmain(){matrixm1,m2,total;cin>>m1>>m2;total=m1+m2;cout<<total;return0;}?#include<iostream>#include<fstream>usingnamespacestd;intmain(){fstreamfout("",ios::out);if(!fout){cout<<"文件打開失??!"<<endl;return1;}fout<<"Shenfazhan000001\n";fout<<"shanghaiqiche600104\n";fout<<"Guangjunengyuan000096";();return0;}?#include<iostream>#include<fstream>usingnamespacestd;intmain(){charstr[30

溫馨提示

  • 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. 人人文庫網(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)論