C++程序作业答案11_第1页
C++程序作业答案11_第2页
C++程序作业答案11_第3页
C++程序作业答案11_第4页
C++程序作业答案11_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

计算机应用专业“C++语言程序设计”课程作业第一次作业一、填空题1.C++语言中的每条基本语句以;作为结束符,每条复合语句以}作为结束符。2.用于输出表达式值的标准输出流对象是cout,用于从键盘上为变量输入值的标准入流对象是cin。3.当不需要函数返回任何值时,则应把该函数类型定义为void。4.执行“cout<<143<<’+’<<18<<’=’<<143+18<<endl;”语句后得到的输出结果为143+18=161。5.执行“cout<<“ning”<<“chen”<<38<<endl;”语句后得到的输出结果为ningchen38。6.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为main。7.C++源程序文件的缺省扩展名为cpp,由C++源程序文件编译而成的目标文件的缺省扩展名为obj,由C++目标文件连接而成的可执行文件的缺省扩展名为exe。8.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用空格或逗号符号作为分隔符。9.十进制数25表示成符号C++语言规则的八进制和十六进制数分别为31和19符号。10.在C++语言中,用转义字符序列\n或操纵符endl表示输出一个换行符。11.执行“cout<<char(’b’+2)<<endl;”语句后得到的输出结果为d。12.执行“cout<<char(’K’-3)<<endl;”语句后得到的输出结果为H。13.已知’A’~’Z’的ASCII码为65~90,当执行“intx=’H’+5;”语句后x的值为77。14.已知’A’~’Z’的ASCII码为65~90,当执行“charch=16*5+2;cout<<ch<<endl;语句序列后,得到的输出结果为R。15.假定一个枚举类型的定义为“enumRA{xa,xb,xc,xd};”,则执行“cout<<”xc=”<<xc<<endl;”语句得到的输出结果为xc=2。16.假定一个枚举类型的定义为“enumRB{ab,ac=3,ad,ae}x=ad;”则x的值为4。17.Char、short和int类型的大小分别为1字节、2字节和4字节。18.float和double类型的大小分别为4字节和8字节。19.十进制数128和-3.26的类型分别为整型和双精度型。20.若需要定义一个标识符常量,并且使C++能够进行类型检查,则应在定义语句的开始用保留字define。21.使用const语句定义一个标识符常量时,则必须对它同时进行初始化。22.执行“intx=45,y=16;cout<<x/y<<’’<<x%y<<endl;”语句序列后得到的输出结果为213。23.假定x=10,y=6,则表达式2+x++和++y*3的值分别为12和21。24.算术表达式(x2+y2)/(2-xy)对应C++表达式为(x*x+y*y)/(2-x*y)。25.算术表达式xy2/(3a+4b-1)对应的C++表达式为x*y*y/(3*a+4*b-1)。26.表达式float(25)/4和int(14.6)%5的值分别为6.25和4。27表达式a=a+b表示成复合赋值表达式为a+=b。28.表达式a=a+1表示成增量表达式为a++。29.增量表达式++y表示成赋值表达式为y=y+1。30.关系表达式(x==0)的等价表达式为!x。31.关系表达式(x!=0)的等价表达式为x。32.关系表达式x+y>z的相反表达式为x+y<=z。33.逻辑表达式x>5&&x<10的相反表达式x<=5||x>=10。34.逻辑表达式a>b||b==5的相反表达式为a<=b&&b!=5。35.若x=15,y=40,则x>y和x<=y的逻辑值分别为false和true。36.假定x=5,则执行“a=(x?10:4*2);”语句后a的值为10。37.假定a=5,则条件表达式“a==0?10:20”的值为20。38.执行“typedefintDataType;”语句后,在使用int定义整型变量的地方都可以使用DataType定义整型变量。39.设x和y均为bool量,x&&y为真的条件是x=truey=true。40.设x和y均为bool量,则x||y为假的条件是x、y都为false。二、写出下列程序运行后的输出结果1.#include<iostream.h>voidSB(charch){switch(ch){case’A’:case’a’:cout<<”well”!”;break;case‘B’:case‘b’:cout<<”good!”;break;case‘C’:case‘c’:cout<<”pass!”;break;default:cout<<“bad!”;break;voidmain(){charal=’b’,a2=’c’,a3=’f’;SB(al);SB(a2);SB(a3);SB(‘A’);Cout<<endl;good!pass!bad!well!2.#clude<stream.h>#include<stdlib.h>doubleSD(inta,intb,charop){doublex;switch(op){case‘x’:x=double(a)+b;break;case‘-‘:x=double(a)–b;break;case‘*’x=double(a)*b;break;case‘/’:if(b)x=double(a)/b;elseexit(1);break;default:exit(1);returnx;voidmain(){intx=20,y=12;cout<<SD(x,y,’-‘)<<’‘;cout<<SD(x,y,’*’)<<’‘;cout<<SD(x+y,y-2,’/’)<<endl;82403.23.#include<iostream.h>voidmain(){ints=0;for(intI=1;I<6;I++)s+=I*I;cout<<”s=”<<s<<endl;s=554.#include<iostream.h>voidmain(){ints=0;for(intI=1;;I++){if(s>50)break;if(I%3==0)s+=I;cout<<”I,s=”<<I<<”,”<<s<<endl;I,s=19,635.#include<iostream.h>voidmain(){ints1=0,s2=0;for(intI=0;I<10;I++)if(I%2)s1+=I;elses2+=I;cout<<s1<<’‘<<s2<<endl;25206.#include<iostream.h>voidmain(){intn=10,y=1;while(n--){y++;++y;}cout<<”y*y=”<<y*y<<endl;y*y=441三、写出下列每个函数的功能1.#include<iostream.h>intSA(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn–1;比较两个整数a和b,如果a大于b则返回1;如果a等于b则返回0;如果a小于b则返回-1。2.intSC(inta,intb,intc){if(a>=b&&a>=c)returna;if(b>=a&&b>=c)returnb;if(c>=a&&c>=b)returnc;返回a、b、c三个数中的最大数。3.intSE(intn){//n为大于等于1的整数intx;cin>>x;if(n==1)returnx;intm=x;while(――n){cin>>x;m+=x;returnm;求输入的n个数之和。4.doubleSF(doublex,intn){//n为大于等于0的整数doublep=1,s=1;for(inti=1;i<=n;i++){p*=x;s+=p/(i+1);returns;计算1+x/2+x2/3+x3/4+…+xn/(n+1)5.#include<math.h>boolSG(intx){//x为大于等于2的整数inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;if(i<=a)return0;elsereturn1;判断整数x是否为质数,若为质数返回true,若不是则返回false。6.floatFH(){floatx,y=0,n=0;cin>>x;while(x!=-100){n++;y+=x;cin>>x;if(n==0)returny;elsereturny/n;求键盘输入的数的平均值,输入-100结束(不计在平均值内),若没有数输入则返回0。计算机应用专业“C++语言程序设计”课程作业第二次作业填空题1.假定一个一维数组的定义为“char*a[5];”,则该数组所含元素的个数为5,所占存储空间的字节数为20。2.假定一个二维数组的定义为“inta[4][6];”,则该数组所含元素的个数为24,所占存储空间的字节数为96。3.假定一个二维数组的定义为“chara[8][8];”,则该数组所含元素的个数为64,所占存储空间的字节数为64。4.执行“typedeffloatABC[10];”语句把ABC定义为具有10个单精度元素的数组。5.在函数外定义的变量称为全局变量,若没有被初始化则系统隐含对它赋初值0。6.函数中的形参变量的初值由调用该函数时获得。7.函数调用时,实参向形参的传送分为传值和传址两种传送方式。8.变量分为全局和局部两种,局部变量没有赋初值时,其值是不确定的。给出下列程序运行后的输出结果1.#include<iostream.h>voidmian(){inta[10]={12,39,26,41,55,63,72,40,83,95};inti0=0,i1=0,i2=0;for(inti=0;i<10;I++)switch(a[i]%3){case0:i0++;break;case1:i1++;break;case2:i2++;cout<<i0<<’’<<i1<<’’<<i2<<endl;4242.#include<iostream.h>#include<string.h>voidmain(){char*a[5]={”student”,”worker”,”cadre”,”apple”,”peasant”};char*p1,*p2;p1=p2=a[0];for(inti=0;i<5;i++){if(strcmp(a[i],p1)>0)p1=a[i];if(strcmp(a[i],p2)<0)p2=a[i];cout<<p1<<’’<<p2<<endl;workerapple3.#include<iostream.h>voidmain(){inta[8]={36,73,48,14,55,40,32,66};intb1,b2;b1=b2=a[0];for(inti=1;i<8;I++)if(a[i]>b1){if(b1>b2)b2=b1;b1=a[i];cout<<b1<<’’<<b2<<endl;73364.#include<iostream.h>voidmain(){chara[]=”aabcdaabacabfgacd”;inti1=0,i2=0,i=0;while(a[i]){if(a[i]==’a’)i1++;if(a[i]==’b’)i2++;i++;cout<<i1<<’’<<i2<<endl;735.#include<iostream.h>voidmain(){chara[]=”abcdabcdbdaeaf”;intb[5]={0},i=0;while(a[i]){switch(a[i]){case’a’:b[0]++;break;case’b’:b[1]++;break;case’c’:b[2]++;break;case’d’:b[3]++;break;default:b[4]++;i++;for(i=0;i<5;i++)cout<<b[i]<<’’;cout<<endl;432326.#include<iostream.h>voidmain(){inta[10]={73,83,54,62,40,75,80,92,77,84};intb[4]={60,70,90,101};intc[4]={0};for(inti=0;i<10;i++){intj=0;while(a[i]>=b[j])j++;c[j]++;for(i=0;i<4;i++)cout<<c[i]<<’’;cout<<endl;21617.#include<iostream.h>voidmain(){inta[3][4]={{1,2,7,8},{5,6,11,12},{24,10,3,4}};intm=a[0][0];intii=0,jj=0;for(inti=0;i<3;i++)for(intj=0;j<4;j++)if(a[i][j]>m){m=a[i][j];ii=i;jj=j;}cout<<ii<<’’<<jj<<’’<<a[ii][jj]<<endl;20248.#include<iostream.h>voidmain(){inta=10,b=20;cout<<a<<’’<<b<<endl;{a*=4;intb=a+35;cout<<a<<’’<<b<<endl;cout<<a<<’’<<b<<endl;102040754020写出下列每个函数的功能1.intWC(inta[],intn,intk){intc=0;for(inti=0;i<n;i++)if(a[i]>=k)c++;returnc;返回有n个元素的整型数组a中大于等于整数k的元素个数。2.#include<iostream.h>voidWA(inta[],intn){for(inti=0;i<n;i++){intk=i;for(intj=i+1;j<n;j++)if(a[j]<a[k])k=j;intx=a[i];a[i]=a[k];a[k]=x;函数功能是将有n个元素的整型数组从小到大排列。3.#include<iosteram.h>template<classTT>intWG(TTa,TTb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;比较两个任意类型的数a和b,若a大于b则返回1,若a等于b则返回0,若a小于b否则返回1。4.#include<iostream.h>template<classType>TypeWD(Typea[],intn){Typem=a[0];for(inti=0;i<n;i++)if(a[i]>m)m=a[i];returnm;返回有n个元素的任意类型数组中最大的数。5.Template<classType>voidWE(Typea[],Typeb[],intn){for(inti=0;i<n;i++)b[i]=a[i]*2;将有n个元素的任意类型数组a中的每个元素乘以2后放到数组b中的相应位置中。计算机应用专业“C++语言程序设计”课程作业第三次作业填空题1.假定p所指对象的值为28,p+1所指对象的值为62,则*p++的值为28。2.假定p所指对象的值为28,p+1所指对象的值为62,则*++p的值为62。3.假定p所指对象的值为25,p+1所指对象的值为50,则执行“(*p)++;”语句后,p所指对象的值为26。4.假定p所指对象的值为25,p+1所指对象的值为50,则执行“*(p++);”语句后,p所指对象的值为50。5.假定a是一个指针数组,则a+i所指对象的地址比a地址大未知字节。6.假定a是一个一维数组,则a[i]的指针访问方式为*(a+i)。7.假定a是一个二维数组,则a[i][j]的指针访问方式为*(*(a+i)+j)。8.假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为(char*)a+i*sizeof(a[0])。9.假定一个二维数组为a[M][N],则a[i][j]对应的存储地址(以字节为单位)为(char*)a+(i*N+j)*sizeof(a[0][0])。10.假定一个二维数组a[M][N],则a[i]的地址值(以字节为单位)为(char*)a+i*N*sizeof(a[0][0])。11.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大4字节。12.假定a为一个字符数组名,则元素a[8]的字节地址为8。13.假定a为一个整型数组名,则元素a[4]的字节地址为16。14.假定一个结构类型的定义为“structA{inta,b;shortc;A*d;};”,则该类型的大小为14字节。15.假定一个结构类型的定义为“structB{inta[8];char*b;};”,则该类型的大小为36字节。16.假定一个结构类型的定义为“structD{inta;union{intb;doublec;};D*d[3];};”,则该类型的大小为24字节。17.假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为r=newWorker[n];。18.假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为*(x.a)。19.假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为*(p->b)。给出下列程序运行后的输出结果以下结果中空格以’ˉ’表示1.#include<iomanip.h>voidmain(){inta[8]={7,9,11,13,3,8,15,17};int*p=a;for(inti=0;i<8;i++){cout<<setw(5)<<*p++;if((i+1)%4==0)cout<<endl;ˉˉˉˉ7ˉˉˉˉ9ˉˉˉ11ˉˉˉ13ˉˉˉˉ3ˉˉˉˉ8ˉˉˉ15ˉˉˉ172.#include<iomanip.h>voidmain(){inta[5]={3,6,15,7,20};int*p=a;for(inti=0;i<5;i++)cout<<setw(5)<<*p++;cout<<endl;for(i=0;i<5;i++)cout<<setw(5)<<*--p;cout<<endl;ˉˉˉˉ3ˉˉˉˉ6ˉˉˉ15ˉˉˉˉ7ˉˉˉ20ˉˉˉ20ˉˉˉˉ7ˉˉˉ15ˉˉˉˉ6ˉˉˉˉ33.#include<iomanip.h>voidmain(){inta[8]={4,8,12,16,20,24,28,32};int*p=a;do{cout<<*p<<’’;p+=3;}while(p<a+8);cout<<endl;416284.#include<iomanip.h>voidmain(){intx=20,y=40,*p;p=&x;cout<<*p<<’’;*p=x+10;p=&y;cout<<*p<<endl;*p=y+20;cout<<x<<’’<<y<<endl;204030605.#include<iomanip.h>intLA(int*a,intn){ints=0;for(inti=0;i<n;i++)s+=a[i];returns;voidmain(){inta[]={5,10,15,20,25,30};intb=LA(a,5);intc=LA(a+3,2);cout<<b<<’’<<c<<’’<<b+2*c<<endl;75451656.#include<iomanip.h>voidLC(inta,intb){intx=a;a=b;b=x;cout<<a<<’’<<b<<endl;voidmain(){intx=15,y=36;LC(x,y);cout<<x<<’’<<y<<endl;361515367.#include<iomanip.h>voidLF(int&x,inty){x=x+y;y=x+y;cout<<”x=”<<x<<”,y=”<<y<<endl;voidmain(){intx=5,y=8;cout<<”x=”<<x<<”,y=”<<y<<endl;LF(x,y);cout<<”x=”<<x<<”,y=”<<y<<endl;x=5,y=8x=13,y=21x=13,y=88.#include<iomanip.h>voidLG(int*&a,int&m){a=newint[m];int*p=a;for(inti=0;i<m;i++)*p++=2*i+1;voidmain(){int*p,n=5;LG(p,n);for(inti=0;i<n;i++)cout<<p[i]<<’’;cout<<endl;delete[]p;135799.#include<iomanip.h>voidLH(int*a,intn){int*p=a+n-1;whlie(a<p){intx=*a;*a=*p;*p=x;a++;p--;voidmain(){int*d=newint[5];inti;for(i=0;i<5;i++){d[i]=2*i+3;cout<<setw(5)<<d[i]<<’’;cout<<endl;LH(d,5);for(i=0;i<5;i++){cout<<setw(5)<<d[i]<<’’;cout<<endl;delete[]d;ˉˉˉˉ3ˉˉˉˉ5ˉˉˉˉ7ˉˉˉˉ9ˉˉˉ11ˉˉˉ11ˉˉˉˉ9ˉˉˉˉ7ˉˉˉˉ5ˉˉˉˉ310.#include<iostream.h>structWorker{charname[15];//姓名intage;//年龄floatpay;//工资voidmain(){Workerx={”weirong”,55,640};Workery,*p;y=x;p=&x;cout<<<<’’<<y.age<<’’<<y.pay<<endl;cout<<p->name<<’’<<p->age+5<<’’<<p->pay-10<<endl;weirong55640weirong6063011.#include<iostream.h>#include<string.h>structWorker{charname[15];//姓名intage;//年龄floatpay;//工资voidmain(){Workerx;char*t=”liouting”;intd=46;floatf=725;strcpy(,t);x.age=d;x.pay=f;cout<<<<’’<<x.age<<’’<<x.pay<<endl;liouting46725写出下列每个函数的功能1.#include<iostream.h>voidLI(intn){int*a=newint[n],*p=a+n;for(inti=0;i<n;i++)cin>>a[i];for(i=n-1;i>=0;i--)cout<<*(--p)<<’’;cout<<’\n’;delete[]a;输入n个数并以相反的顺序显示出来。2.#include<iostream.h>voidLK(inta[],intn,int*&b,int&m){floats=0;inti;for(i=0;i<n;i++)s+=a[i];s/=n;m=0;for(i=0;i<n;i++)if(a[i]>=s)m++;b=newint[m];int*p=b;for(i=0;i<n;i++)if(a[i]>=s)*p++=a[i];将数组a中大于平均数的元素存放到动态申请的数组b中,数组b的大小由m返回。3.//structWorker{//charname[15];//姓名//intage;//年龄//floatpay;//工资istream&operator>>(istream&istr,Worker&x){cout<<”请输入一个职工记录:姓名、年龄、工资”<<endl;istr>>>>x..age>>x..pay;returnistr;重载istream的>>操作符以输入Worker结构对象。4.//structStrNode{//charname[15];//字符串域//StrNode*next;//指针域voidQB(StrNode*&f,intn){if(n==0){f=NULL;return;}f=newStrNode;cin>>f->name;StrNode*p=f;whlie(--n){p=p->next=newStrNode;cin>>p->name;p->next=NULL;创建有n个结点的StrNode类型的链表,并从键盘输入每个结点的name值。5.//structStrNode{charname[15];StrNode*next;};voidQC(StrNode*f){whlie(f){cout<<f->name<<’’;f=f->next;遍历链表并输出所有结点的name数据成员计算机应用专业“C++语言程序设计”课程作业第四次作业填空题在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的_构造函数_____使其初始化。当一个类对象被撤消时将自动调用该类的__析构函数_________。对基类数据成员的初始化是通过执行派生类构造函数中的__初始化表_____来实现的。对一个类中的数据成员的初始化可以通过构造函数中的_初始化表___实现,也可以通过构造函数中的__赋值语句________实现。在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序的先基类成员,后类对象成员,最后非对象成员。当撤消一个含有基类和类对象成员的派生类对象时,将首先完成派生类本身的析构函数定义体的执行,接着完成类对象成员的析构函数定义体的执行,最后完成基类成员的析构函数定义体的执行。设PX是指向一个类动态对象的指针变量,则执行“deletepx;”语句时,将自动调用该类的析构函数。当一个类对象离开它的作用域时,系统将自动调用该类的析构函数。假定一个类对象数组为A[N],当离开它的作用域时,系统自动调用该类析构函数的次数为N次。假定AB为一个类,则执行“ABa[10];”语句时,系统自动调用该类构造函数的次数为10次。假定拥护没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为空构造函数。假定用户没有给一个名为AB的类定义析构函数,则系统为其隐含定义的析构函数为空析构函数。若需要把一个函数“voidf();”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:friendvoidf();。若需要把一个类AB定义为一个类CD的友元类,则应在类CD的定义中加入一条语句:friendclassAB;。假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用写法为AB:bb=0;。假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为AB:bb。当类中一个字符指针成员指向具有n个字节的储存空间时,它所能储存字符串的最大长度为n-1。假定AB为一个类,则该类的拷贝构造函数的声明语句为AB:AB(AB&)。对类对象成员初始化是通过执行构造函数中的初始化表完成的。对于类中定义的成员,其隐含访问权限为private,对于结构中定义的成员,其隐含访问权限为public。一个类的友元函数或友元类能够通过成员操作符访问该类的所有数据成员和函数成员。假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:ABoperator+(AB,AB);。在C++流类库中,根基类为ios。在C++流类库中,输入流类和输出流类的名称分别为istream和ostream。若要在程序文件中进行标准输入输出操作,则必须在开始的#inlude命令中使用iosteam.h头文件。若要在程序文件中进行文件输入输出操作,则必须在开始的#inlude命令中使用fstream.h头文件。当从字符文件中读取回车和换行两个字符时,被系统看作为一个换行符。当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为读取的文本文件,当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为写入的文本文件。当需要使用istrstream流类定义一个流对象并联系一个字符串时,应在文件开始使用#include命令,使之包含strstrea.h文件。二、给出下列程序运行后的输出结果1.#include<iostream.h>classA{inta,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);638102.#include<iostream.h>classAinta,b;public:A(intaa=0,intbb=0):a(aa),b(bb)cout<<"Constructor!"<<a+b<<endl;voidmain(){Ax,y(2,5),z(y);Constructor!0Constructor!73.#include<iostream.h>classA{int*a;public: A(intaa=0) a=newint(aa); cout<<"Constructor!"<<*a<<endl;voidmain() Ax[2]; A*p=newA(5); deletep;Constructor!0Constructor!0Constructor!54.#include<iostream.h>classA inta;public: A(intaa=0):a(aa){} ~A(){cout<<"Destructor!"<<a<<endl;}voidmain() Ax(5); A*p=newA(10); deletep;Destructor!10Destructor!55.#include<iostream.h>classA{int*a;public: A(intx) a=newint(x); cout<<"Constructor!"<<*a<<endl; ~A(){deletea;cout<<"Destructor!"<<endl;}voidmain() Ax(9),*p; p=newA(12); deletep;Constructor!9Constructor!12Destructor!Destructor!6.#include<iostream.h>classA inta;public: A(intaa=0):a(aa) cout<<"ConstructorA!"<<a<<endl;classB:publicA intb;public: B(intaa,intbb):A(aa),b(bb) cout<<"ConstructorB!"<<b<<endl;voidmain() Bx(2,3),y(4,5);ConstructorA!2ConstructorB!3ConstructorA!4ConstructorB!57.#include<iostream.h>classA inta;public: A(intaa=0){a=aa;} ~A(){cout<<"DestructorA!"<<a<<endl;}classB:publicA{intb;public: B(intaa=0,intbb=0):A(aa){b=bb;} ~B(){cout<<"DestructorB!"<<b<<endl;}voidmain() Bx(5),y(6,7);DeconstructorB!7DeconstructorA!6DeconstructorB!0DeconstructorA!58.#include<iostream.h>#include<stdlib.h>classA inta,b;charop;public: A(intaa,intbb,charch){a=aa;b=bb;op=ch;} intComp() switch(op) case'+':returna+b; case'-':returna-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=x.Comp(); x.SetA(4,9,'+'); a+=x.Comp(); x.SetA(13,8,'%'); a+=x.Comp();

温馨提示

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

评论

0/150

提交评论