面向对象程序设计第一次编程题答案.doc_第1页
面向对象程序设计第一次编程题答案.doc_第2页
面向对象程序设计第一次编程题答案.doc_第3页
面向对象程序设计第一次编程题答案.doc_第4页
面向对象程序设计第一次编程题答案.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一题:/*-【程序设计】-题目:采用如下点类定义,设计主函数,定义指向空间点类对象p的指针ptr,并采用指针方式调用set()成员函数,设置x=1,y=2,z=3,调用display()成员函数,显示对象p的状态。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在两行标记之间的空白处填入所编 写的若干语句。-*/#include #includeclass point double x,y,z; public: void set(double xx,double yy,double zz) x=xx; y=yy; z=zz; void display() coutx=xty=ytz=zset(1,2,3);Ptr-display();/* End */忽略阅读 ww(p.getx(),p.gety(),p.getz();/忽略阅读结束/忽略阅读void ww(double X,double Y,double Z)fstream out(outfile.txt,ios:out);outX,Y,Zendl;out.close();/忽略阅读结束第二题:/*-【程序设计】-题目: 按照程序中提示补充相应语句,使程序正确运行.-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在两行标记之间的空白处填入所编 写的若干语句。-*/# include# include# include class Pointpublic: Point(double xx, double yy)x=xx; y=yy; void Getxy();/*Program*/friend double Distance(Point &a, Point &b); /声明Distance()为友元函数/* End */private: double x,y; void Point:Getxy()cout(x,y)endl;void ww(double s); double Distance(Point &a, Point &b)double dx=a.x-b.x;double dy=a.y-b.y;return sqrt(dx*dx+dy*dy);void main()Point p1(3.0,4.0),p2(6.0, 8.0);p1.Getxy();p2.Getxy();double d=Distance(p1,p2);coutDistance is dendl;/忽略阅读ww(d);/忽略阅读结束/忽略阅读void ww(double s)fstream out(outfile.txt,ios:out);outsendl;out.close();/忽略阅读结束第三题:/*-【程序设计】-题目: 定义max函数模板比较任意类型两个值x,y的 大小,模板类型参数AT.-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在两行标记之间的空白处填入所编 写的若干语句。-*/#include#include/#include/忽略阅读 void ww(char s);/忽略阅读结束/*Program*/template /max函数模板定义,函数模板类型参数ATAT max(AT x, AT y)return(xy?x:y);/* End */void main() int i1=10,i2=56; float f1=12.5,f2=24.5; double d1=50.344, d2=4656.346; char c1=k,c2=n; coutthe max of i1,i2 is:max(i1,i2)endl; coutthe max of f1,f2 is:max(f1,f2)endl; coutthe max of d1,d2 is:max(d1,d2)endl; coutthe max of c1,c2 is:max(c1,c2)endl; /忽略阅读 ww(max(c1,c2);/忽略阅读结束 /忽略阅读void ww(char s)fstream out(outfile.txt,ios:out);outsendl;out.close();/忽略阅读结束第四题:/*-【程序设计】-题目: 按照程序提示写出相应语句,使程序正确运行。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在两行标记之间的空白处填入所编 写的若干语句。-*/#include #include void main(void) char *name=Zhou,Zhao,Liu,Chen,Li; double score=89,87.2,78.33,91.444,85.5555; for (int i=0;i5;i+) /*Program*/ cout.setf(ios:left); /设置左对齐 cout.width(10); /设置域宽为10 coutnamei; /此句不动 cout.unsetf(ios:left); /恢复默认对齐方式 cout.setf(ios:fixed); /设置定点方式 cout.precision(2); /设置小数点后2位有效数字/* End */ coutscorein; 第五题:/*-【程序设计】-题目: 根据题意,补充函数area() 和Setlength(int L) 的函数体相应语句,使程序正确运行.-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在两行标记之间的空白处填入所编 写的若干语句。-*/#include #include class line int length; protected: void setlength(int n) length=n; public: int getlength() return length; ;class rectangle : private line int width; public: void setlw(int m,int n) setlength(m); width=n; /*Program*/ int area() return getlength()*width; /写出函数体相应语句 void Setlength(int L) setlength(L); /写出函数体相应语句/* End */;/忽略阅读void ww(int s);/忽略阅读结束void main() rectangle R1; R1.setlw(5,6); R1.Setlength(8);coutR1.area()endl;/忽略阅读 ww(R1.area();/忽略阅读结束 /忽略阅读void ww(int s)fstream out(outfile.txt,ios:out);outsendl;out.close();/忽略阅读结束第六题:/*-【程序设计】-题目:编写程序向new.txt文件写入内容,然后读出文件中内容并显示在屏幕上。按照提示写出相应语句,并使程序正常运行。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在两行标记之间的空白处填入所编 写的若干语句。-*/#includevoid main()char str100;/*Program*/fstream f; /定义输入输出文件流ff.open(new.txt,ios:in|ios:out); / 使用open函数打开输入输出文件new.txt(不用写文件路径)fhelle World; /使用插入操作符将helle World字符串写入文件f.put(n); /使用put函数将回车换行符写入new.txtf.seekg(0); / 将读指针置于文件头while(!f.eof()f.getline(str,100);coutstr; /使用while循环和getline()函数读入文件new.txt内容并输出到屏幕,循环停止用eof()函数判定f.close(); /关闭new.txt文件/* End */第七题:/*-【程序设计】-题目:用运算符重载-=为成员函数实现复数的减赋值运算,使程序正确运行。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在两行标记之间的空白处填入所编 写的若干语句。-*/# include# includeclass Complex private: float Real,Image; public:/忽略阅读 void ww();/忽略阅读结束 Complex(float r=0,float i=0) Real=r;Image=i; /*Program*/void operator-=(Complex &c);/-=运算符重载声明void Complex:operator-=(Complex &c)Real=Real-c.Real;Image=Image-c.Image; /-=运算符重载定义,函数参数c/* End */void main(void) Complex c1(15,34),c2(30,57); c2-=c1;/忽略阅读 c2.ww();/忽略阅读结束/忽略阅读void Complex:ww()fstream out(outfile.txt,ios:out);outReal,Imageendl;out.close();/忽略阅读结束第八题:/*-【程序设计】-题目:补充show()头定义,使程序实现动态多态。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在两行标记之间的空白处填入所编 写的若干语句。-*/#includeclass my_baseint a,b;public:my_base(int x,int y)a=x;b=y;/*Program*/virtual void show() /show()头定义/* End */coutmy_base-n;couta bendl;class my_class:public my_baseint c;public:my_class(int x,int y,int z):my_base(x,y)c=z;void show()coutmy_class-n;coutc=cshow();mp=&mc;mp-show();第九题:/*-【程序设计】-题目:在下面程序中补充相应语句,完成对对象a的数据成员l(3.5),w(5.5) 赋值语句和对象a面积的计算.-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在两行标记之间的空白处填入所编 写的若干语句。-*/#include#includevoid ww(float s);class rectanglepublic: float l,w; float s() float area; area=l*w; return area; ;void main()float Area;rectangle a;/*Program*/a.l = 3.5;a.w = 5.5;Area = a.s();/* End */coutArea=Areaendl;/忽略阅读ww(Area);/忽略阅读结束/忽略阅读void ww(float s)fstream out(outfile.txt,ios:out);outs;out.close();/忽略阅读结束第十题:/*-【程序设计】-题目:阅读下面程序,补充派生类derive构造函数定义,使之正确运行。要求:使用初始化列表,整型数i初始化对象d,j初始化derived类对象继承数据成员x。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在两行标记之间的空白处填入所编 写的若干语句。-*/#include #include class base int x; public: base(int i) x=i; int getx()return x; class derived:public base base d; publ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论