版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C++面向?qū)ο蟪绦蛟O(shè)計(jì)教程課后題答案
什么是面向?qū)ο蟪绦蛟O(shè)計(jì)
面向?qū)ο蟪绦蛟O(shè)計(jì)是一種新的程序設(shè)計(jì)范型.這種范型的主要特征
是:
程序二對象+消息
面向?qū)ο蟪绦虻幕驹厥菍ο蟆?/p>
主要結(jié)構(gòu)特點(diǎn)是:
第一,程序一般由類的定義和類的使用兩部分組成;
第二,程序中的一切操作都是通過向?qū)ο蟀l(fā)送消息來實(shí)現(xiàn)的。
什么是對象什么是類對象與類之間的關(guān)系是什么
對象是描述其屬性的數(shù)據(jù)以及對這些數(shù)據(jù)施加的一組操作封裝在一
起構(gòu)成的統(tǒng)一體。
類就是具有相同的數(shù)據(jù)和相同的操作的一組對象的集合,也就是說,
類是對具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的一類對象的描述。
類和對象之間的關(guān)系是抽象和具體的關(guān)系。類是多個(gè)對象進(jìn)行綜合抽
象的結(jié)果,一個(gè)對象是類的一個(gè)實(shí)例。
現(xiàn)實(shí)世界中的對象有哪些特征請舉例說明。
現(xiàn)實(shí)世界中的對象具有以下特征:
1)每一個(gè)對象必須有一個(gè)名字以區(qū)別于其他對
象;
2)用屬性來描述對象的某些特征;
3)有一組操作,每組操作決定對象的一種行為;
4)對象的行為可以分為兩類:一類是作用于自身
的行為,另一類是作用于其他對象的行為。
例如一個(gè)教師是一個(gè)對象。每個(gè)教師對象有自己的名字來和別的教師
區(qū)別。教師具有編號,姓名,年齡,職稱,專業(yè)等屬性。教師擁有走
路,吃飯,授課等行為操作。走路,吃飯是作用于自身的行為,授課
是作用于其他對象的行為。
什么是消息消息具有什么性質(zhì)
一個(gè)對象向另一個(gè)對象發(fā)出的請求成為“消息”。
消息具有以下3個(gè)性質(zhì):
1)同一個(gè)對象可以接收不同形式的多個(gè)消息,做
出不同的相應(yīng);
2)相同形式的消息可以傳遞給不同的對象,所做
出的響應(yīng)可以是不同的;
3)對消息的響應(yīng)并不是必須的,對象可以響應(yīng)消
息,也可以不響應(yīng)。
什么是抽象和封裝請舉例說明。
抽象是將有關(guān)事物的共性歸納、集中的過程。
例如:把所有具有大學(xué)生學(xué)籍的人歸為一類,成為“大學(xué)生”,這就
是一個(gè)抽象。
封裝是指把數(shù)據(jù)和實(shí)現(xiàn)操作的代碼集中起來放在對象內(nèi)部,并盡可能
隱藏對象的內(nèi)部細(xì)節(jié)。
例如:每一臺洗衣機(jī)都有出廠日期、機(jī)器編號等屬性,也有啟動、暫
停、選擇等操作。人們在使用洗衣機(jī)的時(shí)候只需要按下對應(yīng)的按鈕,
而不用關(guān)心具體的內(nèi)部實(shí)現(xiàn)。這就是封裝。
多繼承是指多個(gè)基類派生出一個(gè)派生類的繼承關(guān)系。比如玩具車同時(shí)
繼承自玩具和車。
什么是多態(tài)請舉例說明。
多態(tài)是指不同的對象收到相同的消息時(shí)執(zhí)行不同的操作。
例如,有一個(gè)窗口類對象,還有一個(gè)棋子類對象。當(dāng)我們發(fā)出“移動”
消息時(shí),兩個(gè)對象的行為不同。
面向?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)境。
簡述C++的主要特點(diǎn)。
1)C++是C的超集,保持與C的兼容。
2)保持了C的簡潔、高效和接近匯編語言等特點(diǎn),
并對C的功能作了不少擴(kuò)充。用C++編寫的程序比C更安全,可讀性
更好,代碼結(jié)構(gòu)更為合理。
3)程序質(zhì)量高。
4)增加了面向?qū)ο髾C(jī)制。
電
#incIude<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"?endI;
return0;
)
cout?"TheIowestcommondenominatoris"?d?endI;
return0;
有效
沒有函數(shù)聲明;
函數(shù)定義沒有寫返回值類型。
(1)等價(jià),函數(shù)聲明可以省略參數(shù)的名字。
(2)不等價(jià),第二個(gè)的函數(shù)定義不能省略參數(shù)的
名字。
CDAAB
ACBDC
DC
101
1010
10
20
舉例說明可以使用const替代#define以消除#define的不安全性。
電
#incIude<iostream>
usingnamespacestd;
intmain0
f
inta=1;
#defineT1a+a
#defineT2T1-T1
cout?"T2is"?T2?endI;
return0;
)
上面這個(gè)程序,初看應(yīng)該輸出T2is0
但是實(shí)際上,得出T2is2
如果把#define換成const,則可以輸出想要的結(jié)果。
用動態(tài)分配空間的方法,計(jì)算Fibonacci數(shù)列的前20項(xiàng),并存儲到
動態(tài)分配的空間中。
電
#incIude<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ù)的二次方根。
電
#incIude<iostream>
usingnamespacestd;
doubIesroot(intnum)
return(double)sqrt((doubIe)num);
)
doublesroot(longnum)
return(double)sqrt((doubIe)num);
1
doublesroot(doublenum)
{
return(double)sqrt(num);
1
intmain()
(
return0;
)
電
解決百錢問題。將一元人民幣換成1、2、5分的硬幣,有多少種換
法
#incIude<iostream>
usingnamespacestd;
intmain0
(
intnum=0;Default
constructorcaIled.
DefaultconstructorcaIled.
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是私有成員,不能用對象直接調(diào)用。
voidprintStu0和voidsetSno(ints)沒有
加限定符Student::
voidsetAge(inta)在類中沒有聲明
構(gòu)造函數(shù)不能定義為私有。否則無法創(chuàng)建對象。
下面是一個(gè)計(jì)算器類的定義,請完成該類成員函數(shù)的實(shí)現(xiàn)。
cIasscounter
publie:
counter(intnumber);
voidincrement0;電。0777ult()?"
)
)
電
修改,通過對象指針訪問對象數(shù)組,使程序以相反的順序顯示每個(gè)
對象數(shù)組元素的qu*price值。
電
cIassbook
(
private:
intqu,price;
publie:
book(intqu);
intmu11();
);
book::book(intq)
if(q<1IIq>5)
qu=1;
eIse
qu=q;
}
price=10*qu;
)
intbook::mu11()
{
returnqu*price;
)
intmain0
(
bookbooks[5]={1,2,3,4,5);
book*p=books;
P十二4;
for(inti=0;i<5;i++)
(
cout?p->muIt()?"
一P;
return0;
)
電
構(gòu)建一個(gè)類Stock,含字符數(shù)組stockcode□及整型數(shù)組成員quan、
雙精度型數(shù)據(jù)成員price。構(gòu)造函數(shù)含3個(gè)參數(shù):字符數(shù)組na□及q、
Po當(dāng)定義Stock的類對象時(shí),將對象的第一個(gè)字符串參數(shù)賦給數(shù)據(jù)
成員stockcode,第2和第3個(gè)參數(shù)分別賦給quan、price。未設(shè)置
第2和第3個(gè)參數(shù)時(shí),quan的值為1000,price的值為.成員函數(shù)print
沒有形參,需使用this指針,顯示對象數(shù)據(jù)成員的內(nèi)容。編寫程序
顯示對象數(shù)據(jù)成員的值。
電
#incIude<iostream>
usingnamespacestd;
cIassStock
private:
charstockcode[25];
intquan;
doubIeprice;
pubIic:
Stock(charna[],intq=1000,doubIep=;
Stock(charna[]);
voidprint();
);
Stock::Stock(charna[],intq=1000,doubIep二
strcpy(stockcode,na);
quan=q;
price二p;
voidStock::print()
(
cout?"stockcode:"?this->stockcode?"quan:"?
this->quan?"price:"?this->price?endI;
}
intmain()
(
Stockstockl("600001",3000,;
Stockstock2("600002");
0;
0;
return0;
)
編寫一個(gè)程序,已有若干學(xué)生的數(shù)據(jù),包括學(xué)號、姓名、成績,要
求輸出這些學(xué)生的數(shù)據(jù)并計(jì)算出學(xué)生人數(shù)和平均成績(要求將學(xué)生人
數(shù)和總成績用靜態(tài)數(shù)據(jù)成員表示)。
電
#include<iostream>
usingnamespacestd;
cIassstudent
(
private:
charname[25],studentNo[10];
intscore;
staticintsum;
staticinttotalScore;
pubIic:
student(charna[],charstuNo[],intsc);
voidshow();
staticvoidshowTotaI();
);
student::student(charna[],charstuNo[],intsc)
strcpy(name,na);
strcpy(studentNo,stuNo);
score=sc;
++sum;
totaIScore+二sc;
)
voidstudent::show()
cout?"姓名:?name?endI;
cout?"學(xué)號:"?studentNo?endI;
cout?"成績:"?score?endI;
}
voidstudent::showTotaI()
cout?"總?cè)藬?shù):"?sum?endI;
cout?”平均成績:"?(doubIe;totaIScore/sum?endI;
)
intstudent::sum=0;
intstudent::totaIScore=0;
intmain()
students1(“張無忌”,"111254",75);
students2(“李莫愁","254114",60);
students3(“小龍女、"112587",88);
0;
0;
0;
student::showTotaI();
return0;
)
有哪幾種繼承方式每種方式的派生類對基類成員的繼承性如何
公有繼承,私有繼承和保護(hù)繼承。
基類的私有成員,無論哪種繼承方式都不能訪問。
公有繼承不改變基類的公有和保護(hù)成員的訪問限
制C
私有繼承將基類的公有和保護(hù)成員都變成私有。
保護(hù)繼承將基類的公有和保護(hù)成員都變成保護(hù)。
派生類能否直接訪問基類的私有成員若否,應(yīng)如何實(shí)現(xiàn)
不能。可以在基類里添加一個(gè)公有成員函數(shù)來訪
問私有成員,派生類就能繼承這個(gè)公有成員函數(shù),實(shí)現(xiàn)對基類私有成
員的訪問。
保護(hù)成員有哪些特性保護(hù)成員以公有方式或私有方式繼承后的訪問
特性如何
保護(hù)成員只能被本類或本類的派生類所訪問,在
類或派生類外是不能被訪問的。
后面一問見第一題的答案。
派生類構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行順序是怎樣的
構(gòu)造函數(shù)是先執(zhí)行父類的構(gòu)造函數(shù),再執(zhí)行類中
其他類對象的構(gòu)造函數(shù),再執(zhí)行本類的構(gòu)造函數(shù)。如果同級有多個(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è)共同的基類,則在最底層的派生類中會保留這個(gè)簡介的共同基
類數(shù)據(jù)成員的多份同名成員。在訪問這些同名成員的時(shí)候,會產(chǎn)生二
義性。為了解決二義性,引入了虛基類。
1)如果虛基類中定義有帶形參的構(gòu)造函數(shù),并且
沒有定義默認(rèn)形式的構(gòu)造函數(shù),則整個(gè)繼承結(jié)構(gòu)中,所有直接或間接
的派生類都必須在構(gòu)造函數(shù)的成員初始化表中列出對虛基類構(gòu)造函
數(shù)的調(diào)用,以初始化在虛基類中定義的數(shù)據(jù)成員。
2)建立一個(gè)對象時(shí),如果這個(gè)對象中含有從虛基
類繼承來的成員,則虛基類的成員是由最遠(yuǎn)派生類的構(gòu)造函數(shù)通過調(diào)
用虛基類的構(gòu)造函數(shù)進(jìn)行初始化的。該派生類的其他基類對虛基類構(gòu)
造函數(shù)的調(diào)用都自動被忽略。
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
主食二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)
classbasel
classbase2
classIeve12
classbase2
cIasslevel1
classtopIeveI
#inoIude<iostream>
usingnamespacestd;
#incIude<iomanip>
cIasstabIe
publie:
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?"\nu;
)
cIassder_table:publictabIe
(
pubIic:
der_table(intp,intq,char*m):tabIe(p,q)
(
c=m;
)
voidprint();
protected:
char*c;
);
voidder_tabIe::print()
cout?c?"\n";
tabIe::ascii();
1
intmain()
(
der_tabIeob(*a','z',"ASCIIvaIue-----char");
0;
return0;
)
#incIude<iostream>
usingnamespacestd;
#incIude<iomanip>
cIassarea_c1
protected:
doubleheight;
doubIewidth;
publie:
area_c1(doubler,doubIes)
height=r;
width二s;
)
virtuaIdoublearea()=0;
);
cIassrectangle:pubIicarea_c1
publie:
rectangIe(doubler,doubles):area_c1(r,s){}
virtuaIdoublearea0;
);
doublerectangle::area()
(
returnheight*width;
)
cIassisosceIes:pubIicarea_c1
(
publie:
isosceles(doubler,doubles):area_c1(r,s){}
virtuaIdoublearea0;
);
doubIeisosceles::area()
(
return(height*width)/2;
)
intmain()
(
rectangler(10,5);
isosceIesi(4,6);
area_c1*a;
a=&r;
cout?"矩形的面積是:"?a->area()?endI;
a=&i;
cout?"三角形的面積是:"?a->area()?endI;
return0;
)
#incIude<iostream>
usingnamespacestd;
#incIude<iomanip>
cIassTime
publie:
Time(inth,intm,ints)
hours二h;
minutes=m;
seconds=s
voiddispIay()
cout?”出生時(shí)間:"?hours?"時(shí)"?minutes?
分"?seconds?"秒"?endI;
)
protected:
inthours,minutes,seconds;
);
cIassDate
(
publie:
Date(intm,intd,inty)
month-m;
day二d;
year=y;
)
voiddisplay()
{
cout?"出生年月:"?year?"年"?month?"月"
?day?"日"?endl;
}
protected:
intmonth,day,year;
);
cIassBirthtime:pubIicTime,pubIicDate
publie:
Birthtime(charname[],intm,intd,inty,inth,intmi,
ints):Time(h,mi,s),Date(m,d,y:
strcpy(ChiIdname,name);
voidshowName()
cout?"我的名字是:"?ChiIdname?endI;
private:
charChiIdname[25];
);
intmain()
Birthtimeb("xiaoming",3,6,2012,11,12,42);
0;
::display();
::dispIay();
return0;
}
#incIude<iostream>
usingnamespacestd;
#incIude<iomanip>
cIassperson
protected:
charnumber[25];
charname[25];
publie:
person(charnum[],charna[])
(
strepy(number,num);
strepy(name,na);
)
voidshowName()
(
cout?"編號:"?number?"姓名:"?name;
)
);
cIassstudent:pubIicperson
private:
intcIassNumber,score;
publie:
student(charnum[],charna[],inteNumber,int
sc):person(num,na)
{
cIassNumber=eNumber;
score=sc;
}
voidshow()
(
showName();
cout?班號:"<<cIassNumber?成績:?score
?endI;
}
);
cIassteacher:pubIicperson
private:
chartitle[25],department[25];
publie:
teacher(charnum[],charna[],chartit[],char
depart[]);person(num,na)
{
strepy(title,tit);
strepy(department,depart);
)
voidshow()
(
showName();
cout?職稱:?title?部門:"<<department
?endI;
C++第五章習(xí)題
1.什么是靜態(tài)聯(lián)編什么是動態(tài)聯(lián)編
靜態(tài)聯(lián)編是指系統(tǒng)在編譯時(shí)就決定如何實(shí)現(xiàn)某一
動作。
動態(tài)聯(lián)編是指系統(tǒng)在運(yùn)行時(shí)動態(tài)實(shí)現(xiàn)某一動作。
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)性是通過函數(shù)重載和模板實(shí)現(xiàn)的。
動態(tài)聯(lián)編所支持的多態(tài)性稱為運(yùn)行時(shí)多態(tài)性,也稱動態(tài)多態(tài)性。是通
過虛函數(shù)來實(shí)現(xiàn)的。
1.簡述運(yùn)算符重載規(guī)則。
a)C++中絕大部分的運(yùn)算符允許重載。
b)C++只能對已有的C++運(yùn)算符進(jìn)行重載。
c)運(yùn)算符重載是針對新類型數(shù)據(jù)的實(shí)際需要,對
原有運(yùn)算符進(jìn)行適當(dāng)?shù)母脑焱瓿?。?yīng)與原有的功能相類似。
d)重載不能改變運(yùn)算符的操作對象的個(gè)數(shù)。
e)重載不能改變運(yùn)算符原有的優(yōu)先級。
f)不能改變原有的結(jié)合特性。
g)參數(shù)至少應(yīng)有一個(gè)是類對象。
h)重載函數(shù)可以是普通函數(shù),也可以是類的成員
函數(shù),也可以是類的友元函數(shù)。
i)一般用于類對象的運(yùn)算符除了賦值運(yùn)算符
都要重載。
1.友元運(yùn)算符函數(shù)和成員運(yùn)算符函數(shù)有什么不同
a)對于雙目運(yùn)算符,成員運(yùn)算符重載含有一個(gè)參
數(shù),友元重載含有兩個(gè)參數(shù);對于單目運(yùn)算符,成員重載沒有參數(shù),
友元重載有一個(gè)參數(shù)。
b)雙目運(yùn)算符一般可以被重載為友元或成員。但
是如果將一個(gè)對象和一個(gè)普通類型運(yùn)算,必須重載為友元。
c)調(diào)用方式不同。
d)一般,雙目運(yùn)算符用友元,單目運(yùn)算符用成員。
如果操作數(shù)有隱式類型轉(zhuǎn)換,則必須用友元。
1.什么是虛函數(shù)虛函數(shù)與函數(shù)重載有哪些相同點(diǎn)與不同點(diǎn)
虛函數(shù)就是在基類中被關(guān)鍵字virtuaI說明,并在派生類中重新定義
的函數(shù)。
函數(shù)名都相同。
重載函數(shù)的參數(shù)個(gè)數(shù)或參數(shù)類型必須有所不同。虛函數(shù)要求函數(shù)名,
返回類型,參數(shù)個(gè)數(shù),參數(shù)的類型和順序與基類中的虛函數(shù)原型完全
相同。
1.什么是純虛函數(shù)什么是抽象類
純虛函數(shù)是一個(gè)在基類中說明的虛函數(shù),它在該基類中沒有定義,但
要求在它的派生類中根據(jù)需要對它進(jìn)行定義,或仍說明為純虛函數(shù)。
如果一個(gè)類至少有一個(gè)純虛函數(shù),那么就稱這個(gè)類為抽象類。
7-12DAADCC
13.
不對,參數(shù)個(gè)數(shù)必須一樣。
14.
7
6
15.
Thisisc++book.
第一個(gè)字符:T
第16個(gè)字符:.
第26個(gè)字符:數(shù)組下標(biāo)超界!
16.
m二千米
17.
#incIude<iostream>
usingnamespacestd;
cIasstwoDArray
(
inta[2][3];
publie:
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?endI;
)
)
twoDArraytwoDArray::operator+(twoDArrayn)
{
twoDArraytemp;
for(inti=0;i<2;i++)
for(intj=0;j<3;j++)
[i][j]=a[i][j]+
returntemp;
)
twoDArraytwoDArray::operator-(twoDArrayn)
(
twoDArraytemp;
for(inti=0;i<2;i++)
for(intj=0;j<3;j++)
[i][j]=a[i][j]-
returntemp;
1
intmain()
(
inta[2][3];
for(inti=0;i<2;i++)
for(intj=0;j<3;j++)
cin?a[i][j];
twoDArraya1,a2(a),totaI,sub;
totaI=a1+a2;
sub-a1-a2;
0;
0;
return0;
}
18.
#incIude<iostream>
usingnamespacestd;
cIasstwoDArray
inta[2][3];
publie:
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?endI;
)
)
twoDArrayoperator+(twoDArraym,twoDArrayn)
(
twoDArraytemp;
for(inti=0;i<2;i++)
for(intj=0;j<3;j++)
[i][j]=+⑴口];
returntemp;
)
twoDArrayoperator-(twoDArraym,twoDArrayn)
twoDArraytemp;
for(inti=0;i<2;i++)
for(intj=0;j<3;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),totaI,sub;
totaI=a1+a2;
sub=a1-a2;
0;
0;
return0;
)
電
19.
電
#incIude<iostream>
usingnamespacestd;
cIasscompIex
(
doublereaI,imag;
publie:
compIex(doublere,doubIeim)
reaIre;
imag=im;
)
friendcomplexoperator+(compIexa,compIexb);
voidprint();
);
compIexoperator+(compIexa,compIexb)
(
returncompIex+,+;
)
voidcomplex::print()
cout?"("?reaI?","?imag?")"?endI;
)
intmain()
compIexc1,;
complexc2,;
complextotaI=d+c2;
0;
return0;
1
電
20.
電
#incIude<iostream>
usingnamespacestd;
constdoubIePI
cIassContainer
protected:
doubler,d;如果是圓柱體,r為底面半徑,d為高。如果是正
方體,r為邊長,d為0。
publie:
Container(doubIea,doubIeb=0)
{
r二a;
d二b;
)
virtualdoubleserface()=0;cerr和clog間的區(qū)別是
cerr不經(jīng)過緩沖區(qū)直接顯示錯(cuò)誤信息。而cIog
存放在緩沖區(qū),緩沖區(qū)滿或遇上endl時(shí)再輸出。
C++提供哪兩種控制輸入輸出格式的方法
一種是使用ios類中的有關(guān)格式控制的流成員函
數(shù)進(jìn)行格式控制,另一種是使用稱為操縱符的特殊類型的函數(shù)控制。
C++進(jìn)行文件輸入輸出的基本過程是什么
首先創(chuàng)建一個(gè)流對象,然后將這個(gè)流對象與文件
相關(guān)聯(lián),即打開文件,此時(shí)才能進(jìn)行讀寫操作,讀寫操作完成后再關(guān)
閉這個(gè)文件。
BCA
電
#include<iostream>
#incIude<iomanip>
usingnamespacestd;
intfactoriaI(intn)
if(n==0||n=1)
returnn;
returnfactoriaI(n-1)*n;
1
intmain()
(
for(inti=1;i<=9;i++)
(
cout?setw(5)?factoriaI(i);
if(i%3=0)
(
cout?endI;
)
}
return0;
)
#incIude<iostream>
#incIude<iomanip>
usingnamespacestd;
intmain()
(
for(inti=1;i<=7;i++)
(
cout?setw(16-i);
for(intj=1;j<=(2*i-1);j++)
cout?'A';
cout?endI;
}
return0;
}
#incIude<iostream>
#incIude<iomanip>
usingnamespacestd;
cIassmatrix
private:
intdata[2][3];
publie:
matrix(){}
ostream&operator?(ostream&,matrix&);
istream&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?endI;
returnos;
)
istream&operator?(istream&in,matrix&a)
(
cout?"請輸入一個(gè)2行3列矩陣:"?endI;
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++)
(
)
)
returntemp;
)
intmain()
matrixml,m2,totaI;
cin?ml?m2;
totaI=ml+m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒課程設(shè)計(jì)培訓(xùn)
- 幼兒園圓形足球課程設(shè)計(jì)
- 天氣預(yù)報(bào)app課程設(shè)計(jì)
- 銀行員工培訓(xùn)與服務(wù)質(zhì)量提升
- 戲劇學(xué)院體態(tài)課程設(shè)計(jì)
- 幼兒園班會課程設(shè)計(jì)
- aci課程設(shè)計(jì)師 知乎
- 企業(yè)財(cái)務(wù)成本控制與管理匯報(bào)
- 支教面試課程設(shè)計(jì)
- 整合鄉(xiāng)土教材的課程設(shè)計(jì)
- 金融理論與政策(華南農(nóng)業(yè)大學(xué))-中國大學(xué)MOOC答案2023版
- 精讀《未來簡史》學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年《論教育》全文課件
- 2024年湖南長沙市公安局監(jiān)所管理支隊(duì)招聘13人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 灌裝車間員工崗位職責(zé)
- 國家開放大學(xué)??啤斗ɡ韺W(xué)》(第三版教材)形成性考核試題及答案
- 勞動教育概論智慧樹知到期末考試答案章節(jié)答案2024年哈爾濱工業(yè)大學(xué)
- (正式版)SHT 3158-2024 石油化工管殼式余熱鍋爐
- 馬工程版《中國經(jīng)濟(jì)史》各章思考題答題要點(diǎn)及詳解
- 輔導(dǎo)員工作手冊
- 不許摳鼻子ppt課件
評論
0/150
提交評論