面向对象第四次作业答案_第1页
面向对象第四次作业答案_第2页
面向对象第四次作业答案_第3页
面向对象第四次作业答案_第4页
面向对象第四次作业答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、一、填空题1、在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的构造函数使其初始化。2、当一个类对象被撤消时将自动调用该类的析构函数。3、对基类数据成员的初始化是通过执行派生类构造函数中的初始化表来实现的。4、对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的赋值语句实现。5、在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先基类成里,后类对象成员,最后为非对象成员。6、当撤消一个含有基类和类对象成员的派生类对象时,将首先完成派生类本身的析构函数定义体的执行,接着完成类对象成员的析构函数定义体的执行,最后完成基类成员的析构函

2、数定义体的执行。7、设px是指向一个类动态对象的指针变量,则执行"deletepx;”语句时,将自动调用该类的析构函数。8、当一个类对象离开它的作用域时,系统将自动调用该类的析构函数。9、假定一个类对象数组为AN,当离开它的作用域时,系统自动调用该类析构函数的次数为N次。10、假定AB为一个类,则执行"ABa10;”语句时,系统自动调用该类构造函数的次数为10次。11、假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为空构造函数。12、假定用户没有给一个名为AB的类定义析构函数,则系统为其隐含定义的析构函数为空构造函数。13、若需要把一个函数&quo

3、t;voidF();"定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:friendvoidF();。14、若需要把一个类AB定义为一个类CD的友元类,则应在类CD的定义中加入一条语句:feiendclassAB;。15、假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用的语句为AB:bb=0;。16、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为AB:bb。17、当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为n-1。18、假定AB为一个类,则该类的拷贝构造函数的声明语

4、句为AB:AB(AB&)。19、对类对象成员的初始化是通过执行构造函数中的初始化表完成的。20、对于类中定义的成员,其隐含访问权限为private,对于结构中定义的成员,其隐含访问权限为public。21、一个类的友元函数或友元类能够通过成员操作符访问该类的所有数据成员和函数成员_。22、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:ABoperator+(AB,AB);。23、在C+流类库中,根基类为ios。24、在C+流类库中,输入流类和输出流类的名称分别为istream和ostream.25、若要在程序文件中进行标准

5、输入输出操作,则必须在开始的#include命令中使用头文件。include 命令中使用换行符 。文件的隐含打开方式为读26、若要在程序文件中进行文件输入输出操作,则必须在开始的#头文件。27、当从字符文件中读取回车和换行两个字符时,被系统看作为一个28、当使用ifsream流类定义一个流对象并打开一个磁盘文件时,取的文本文件,当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为写入的文本文件。29、当需要使用istrstream流类定义一个流对象并联系一个字符串时,应在文件开始使用#include命令,使之包含文件。、写出下列程序运行后的输出结果1 #inclu

6、de<>classAinta,b;public:A()a=b=0;A(intaa,intbb)a=aa;b=bb;cout<<a<<"<<b<<endl;voidmain()Ax,y(6,3),z(8,10);输出结果:2#include<>classAinta,b;public:A(intaa=0,intbb=0):a(aa),b(bb)cout<<"Constructor!"<<a+b<<endl;voidmain()Ax,y(2,5),z(y);输出结

7、果:3#include<>classAint*a;public:A(intaa=0)a=newint(aa);cout<<"Constructor!"<<*a<<endl;voidmain()Ax2;A*p=newA(5);deletep;输出结果:4#include<>classAinta;public:A(intaa=0):a(aa)A()cout<<"Destructor!"<<a<<endl;voidmain()Ax(5);A*p=newA(10);d

8、eletep;输出结果:5#include<>classAint*a;public:A(intx)a=newint(x);cout<<"Constructor!"<<*a<<endl;A()deletea;cout<<"Destructor!"<<endl;voidmain()Ax(9),*p;p=newA(12);deletep;输出结果:6#include<>classAinta;public:A(intaa=0):a(aa)cout<<"Con

9、structorA!"<<a<<endl;classB:publicAintb;public:B(intaa,intbb):A(aa),b(bb)cout<<"ConstructorB!"<<b<<endl;voidmain()Bx(2,3),y(4,5);输出结果:7#include<>classAinta;public:A(intaa=0)a=aa;A()cout<<"DestructorA!"<<a<<endl;classB:pub

10、licAintb;public:B(intaa=0,intbb=0):A(aa)b=bb;B()cout<<"DestructorB!"<<b<<endl;voidmain()Bx(5),y(6,7);输出结果:8#include<>#include<>classAinta,b;charop;public:A(intaa,intbb,charch)a=aa;b=bb;op=ch;intComp()switch(op)case'+':returna+b;case'-':returna-

11、b;case'*':returna*b;case'/':if(b!=0)returna/b;elseexit(1);case'%':if(b!=0)returna%b;elseexit(1);default:exit(1);voidSetA(intaa,intbb,charch)a=aa;b=bb;op=ch;voidmain(void)Ax(3,5,'*');inta=();(4,9,'+');a+=();(13,8,'%');a+=();cout<<"a="<

12、;<a<<endl;输出结果:9#include<>classBinta,b;public:B()a=b=0;B(intaa,intbb)a=aa;b=bb;Boperator+(B&x)Br;=a+;=b+;returnr;Boperator-(B&x)Br;returnr;voidOutB()cout<<a<<''<<b<<endl;voidmain()Bx(6,5),y(13,3),z1,z2;z1=x+y;z2=x-y;();();输出结果:10#include<>

13、template<classTT>classFFTTa1,a2,a3;public:FF(TTb1,TTb2,TTb3)a1=b1;a2=b2;a3=b3;TTSum()returna1+a2+a3;voidmain()FF<int>x(8,3,4),y(5,9,11);cout<<()<<''<<()<<endl;输出结果:三、写出下列每个函数的功能1 #include<>#include<>#include<>voidJA(char*fname)ofstreamfou

14、t(fname);chara20;cin>>a;while(strcmp(a,"end")!=0)fout<<a<<endl;cin>>a;();voidJB(char*fname)ifstreamfin(fname);chara20;inti=0;while(fin>>a)cout<<a<<endl;i+;();cout<<"i="<<i<<endl;voidmain()JA("c:");JB("c:&q

15、uot;);2#include<>#include<>voidJB(char*fname)ifstreamfin(fname);chara20;inti=0;while(fin>>a)cout<<a<<endl;i+;();cout<<"i="<<i<<endl;3#include<>#include<>voidJC(char*fname,intn)ofstreamfout(fname,ios:out|ios:binary);intx;for(inti=0;i<n;i+)cin>>x;(char*)&x,sizeof(x);();voidJD(char*fname)ifstreamfin(fname,ios:in|ios:nocreate|ios:binary);intx,s=0,n=0;while(char*)&x,sizeof(x)s+=x;n+;cout<<n<<''<<s<<''<<float(s)/n<<endl;voidmain()JC("c:",5);JD(&qu

温馨提示

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

评论

0/150

提交评论