新标准c++程序设计教材答案郭炜

上传人:n**** 文档编号:118806688 上传时间:2019-12-25 格式:PDF 页数:59 大小:1.06MB
返回 下载 相关 举报
新标准c++程序设计教材答案郭炜_第1页
第1页 / 共59页
新标准c++程序设计教材答案郭炜_第2页
第2页 / 共59页
新标准c++程序设计教材答案郭炜_第3页
第3页 / 共59页
新标准c++程序设计教材答案郭炜_第4页
第4页 / 共59页
新标准c++程序设计教材答案郭炜_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《新标准c++程序设计教材答案郭炜》由会员分享,可在线阅读,更多相关《新标准c++程序设计教材答案郭炜(59页珍藏版)》请在金锄头文库上搜索。

1、新标准新标准 C+C+程序设计习题解答程序设计习题解答 第第 1 11 1 章章- -第第 2 20 0 章章 郭炜郭炜 第十一章习题第十一章习题 1. 1. 结构化程序设计有什么不足?面向对象的程序设计如何改进这些不足? 2. 2. 以下说法正确的是: A) 每个对象内部都有成员函数的实现代码 B) 一个类的私有成员函数内部不能访问本类的私有成员变量 C) 类的成员函数之间可以互相调用 D) 编写一个类时,至少要写一个成员函数 #C 3.3. 以下对类 A 的定义,哪个是正确的? A) class A private: int v; public : void Func() B) class

2、 A int v; A * next; void Func() ; C) class A int v; public: void Func(); ; A:void Func() D)class A int v; public: A next; void Func() ; #B 4. 4. 假设有以下类 A: class A public: int func(int a) return a * a; ; 以下程序片段,哪个是不正确的? A) A a; a.func(5); B) A * p = new A; p-func(5); C) A a; A r.func(5); D) A a,b; if

3、( a != b) a.func(5); #D 5.5.以下程序,哪个是不正确的? A) int main() class A int v; ; A a; a.v = 3; return 0; B) int main() class A public: int v; A * p; ; A a; a.p = return 0; C)int main() class A public: int v; ; A * p = new A; p-v = 4; delete p; return 0; D) int main() class A public: int v; A * p; ; A a; a.p

4、 = new A; delete a.p; return 0; #A 6. 6. 实现一个学生信息处理程序。输入:姓名,年龄,学号(整数) ,第一学年平均成绩,第二学年平 均成绩,第三学年平均成绩,第四学年平均成绩。输出:姓名,年龄,学号,四年平均成绩。例如: 输入:Tom,18,7817,80,80,90,70 输出:Tom,18,7817,80 要求实现一个代表学生的类,并且所有成员变量都应该是私有的。 #include #include #include #include using namespace std; class CStudent private: int age; int

5、id; char name20; int averageScore4; public: int average() int sum = 0; for( int i = 0;i GetColor(szColor); printf(“%03d %s %s %d born with strength %d,%d %s in %s headquartern“ , nTime, szColor, NamesnKindNo, nNo, InitialLifeValuenKindNo, pHeadquarter-anWarriorNumnKindNo,NamesnKindNo,szColor); void

6、CHeadquarter:Init(int nColor_, int lv) nColor = nColor_; nTotalLifeValue = lv; nTotalWarriorNum = 0; bStopped = false; nCurMakingSeqIdx = 0; for( int i = 0;i PrintResult(nTime); nTotalWarriorNum +; return 1; void CHeadquarter:GetColor( char * szColor) if( nColor = 0) strcpy(szColor,“red“); else strc

7、py(szColor,“blue“); char * CWarrior:NamesWARRIOR_NUM = “dragon“,“ninja“,“iceman“,“lion“,“wolf“ ; int CWarrior:InitialLifeValue WARRIOR_NUM; int CHeadquarter:MakingSeq2WARRIOR_NUM = 2,3,4,1,0 ,3,0,1,2,4 ; /两个司令部武士 的制作顺序序列 int main() int t; int m; CHeadquarter RedHead,BlueHead; scanf(“%d“, int nCaseNo

8、 = 1; while ( t - ) printf(“Case:%dn“,nCaseNo+); scanf(“%d“, for( int i = 0;i GetColor(szColor); printf(“%03d %s %s %d born with strength %d,%d %s in %s headquartern“ , nTime, szColor, NamesnKindNo, nNo, InitialLifeValuenKindNo, pHeadquarter-anWarriorNumnKindNo,NamesnKindNo,szColor); class CDragon:p

9、ublic CWarrior private: CWeapon wp; double fmorale; public: void Countmorale() fmorale = pHeadquarter - GetTotalLifeValue() /(double)CWarrior:InitialLifeValue 0; CDragon( CHeadquarter * p,int nNo_): CWarrior(p,nNo_) wp.nKindNo = nNo % WEAPON_NUM; wp.nForce = CWeapon:InitialForcewp.nKindNo ; Countmor

10、ale(); void PrintResult(int nTime) CWarrior:PrintResult(nTime,DRAGON); printf(“It has a %s,and its morale is %.2fn“, CWeapon:Nameswp.nKindNo, fmorale); ; class CNinja:public CWarrior private: CWeapon wps2; public: CNinja( CHeadquarter * p,int nNo_): CWarrior(p,nNo_) wps0.nKindNo = nNo % WEAPON_NUM;

11、wps0.nForce = CWeapon:InitialForcewps0.nKindNo; wps1.nKindNo = ( nNo + 1) % WEAPON_NUM; wps1.nForce = CWeapon:InitialForcewps1.nKindNo; void PrintResult(int nTime) CWarrior:PrintResult(nTime,NINJA); printf(“It has a %s and a %sn“, CWeapon:Nameswps0.nKindNo, CWeapon:Nameswps1.nKindNo); ; class CIcema

12、n:public CWarrior private: CWeapon wp; public: CIceman( CHeadquarter * p,int nNo_): CWarrior(p,nNo_) wp.nKindNo = nNo % WEAPON_NUM; wp.nForce = CWeapon:InitialForce wp.nKindNo ; void PrintResult(int nTime) CWarrior:PrintResult(nTime,ICEMAN); printf(“It has a %sn“, CWeapon:Nameswp.nKindNo); ; class C

13、Lion:public CWarrior private: int nLoyalty; public: void CountLoyalty() nLoyalty = pHeadquarter -GetTotalLifeValue(); CLion( CHeadquarter * p,int nNo_):CWarrior(p,nNo_) CountLoyalty(); void PrintResult(int nTime) CWarrior:PrintResult(nTime,LION); CountLoyalty(); printf(“Its loyalty is %dn“,nLoyalty)

14、; ; class CWolf:public CWarrior public: CWolf( CHeadquarter * p,int nNo_): CWarrior(p,nNo_) void PrintResult(int nTime) CWarrior:PrintResult(nTime,WOLF); ; void CHeadquarter:Init(int nColor_, int lv) nColor = nColor_; nTotalLifeValue = lv; bStopped = false; nCurMakingSeqIdx = 0; nTotalWarriorNum = 0

15、; for( int i = 0;i PrintResult(nTime); nTotalWarriorNum +; return 1; void CHeadquarter:GetColor( char * szColor) if( nColor = 0) strcpy(szColor,“red“); else strcpy(szColor,“blue“); const char * CWeapon:NamesWEAPON_NUM = “sword“,“bomb“,“arrow“ ; int CWeapon:InitialForceWEAPON_NUM; const char * CWarrior:NamesWARRIOR_NUM = “dragon“,“ninja“,“iceman“,“lion“,“wolf“ ; int CWarrior:InitialLifeValue WARRIOR_NUM; int CHeadquarter:MakingSeq2WARRIOR_NUM = 2,3,4,1,0 ,3,0,1,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号