![C++程序作業(yè)答案_第1頁](http://file4.renrendoc.com/view/e90324b10c4a3d9aa382aa880a0c285e/e90324b10c4a3d9aa382aa880a0c285e1.gif)
![C++程序作業(yè)答案_第2頁](http://file4.renrendoc.com/view/e90324b10c4a3d9aa382aa880a0c285e/e90324b10c4a3d9aa382aa880a0c285e2.gif)
![C++程序作業(yè)答案_第3頁](http://file4.renrendoc.com/view/e90324b10c4a3d9aa382aa880a0c285e/e90324b10c4a3d9aa382aa880a0c285e3.gif)
![C++程序作業(yè)答案_第4頁](http://file4.renrendoc.com/view/e90324b10c4a3d9aa382aa880a0c285e/e90324b10c4a3d9aa382aa880a0c285e4.gif)
![C++程序作業(yè)答案_第5頁](http://file4.renrendoc.com/view/e90324b10c4a3d9aa382aa880a0c285e/e90324b10c4a3d9aa382aa880a0c285e5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
精選優(yōu)質文檔-----傾情為你奉上精選優(yōu)質文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質文檔-----傾情為你奉上專心---專注---專業(yè)計算機應用專業(yè)“C++語言程序設計”課程作業(yè)第一次作業(yè)一、填空題1.C++語言中的每條基本語句以;作為結束符,每條復合語句以}作為結束符。2.用于輸出表達式值的標準輸出流對象是cout,用于從鍵盤上為變量輸入值的標準入流對象是cin。3.當不需要函數(shù)返回任何值時,則應把該函數(shù)類型定義為void。4.執(zhí)行“cout<<143<<’+’<<18<<’=’<<143+18<<endl;”語句后得到的輸出結果為143+18=161。5.執(zhí)行“cout<<“ning”<<“chen”<<38<<endl;”語句后得到的輸出結果為ningchen38。6.在每個C++程序中都必須包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為main。7.C++源程序文件的缺省擴展名為cpp,由C++源程序文件編譯而成的目標文件的缺省擴展名為obj,由C++目標文件連接而成的可執(zhí)行文件的缺省擴展名為exe。8.程序運行中需要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應使用空格或逗號符號作為分隔符。9.十進制數(shù)25表示成符號C++語言規(guī)則的八進制和十六進制數(shù)分別為31和19符號。10.在C++語言中,用轉義字符序列\(zhòng)n或操縱符endl表示輸出一個換行符。11.執(zhí)行“cout<<char(’b’+2)<<endl;”語句后得到的輸出結果為d。12.執(zhí)行“cout<<char(’K’-3)<<endl;”語句后得到的輸出結果為H。13.已知’A’~’Z’的ASCII碼為65~90,當執(zhí)行“intx=’H’+5;”語句后x的值為77。14.已知’A’~’Z’的ASCII碼為65~90,當執(zhí)行“charch=16*5+2;cout<<ch<<endl;語句序列后,得到的輸出結果為R。15.假定一個枚舉類型的定義為“enumRA{xa,xb,xc,xd};”,則執(zhí)行“cout<<”xc=”<<xc<<endl;”語句得到的輸出結果為xc=2。16.假定一個枚舉類型的定義為“enumRB{ab,ac=3,ad,ae}x=ad;”則x的值為4。17.Char、short和int類型的大小分別為1字節(jié)、2字節(jié)和4字節(jié)。18.float和double類型的大小分別為4字節(jié)和8字節(jié)。19.十進制數(shù)128和-3.26的類型分別為整型和雙精度型。20.若需要定義一個標識符常量,并且使C++能夠進行類型檢查,則應在定義語句的開始用保留字define。21.使用const語句定義一個標識符常量時,則必須對它同時進行初始化。22.執(zhí)行“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,則執(zhí)行“a=(x?10:4*2);”語句后a的值為10。37.假定a=5,則條件表達式“a==0?10:20”的值為20。38.執(zhí)行“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三、寫出下列每個函數(shù)的功能1.#include<iostream.h>intSA(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn–1;}比較兩個整數(shù)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三個數(shù)中的最大數(shù)。3.intSE(intn){//n為大于等于1的整數(shù)intx;cin>>x;if(n==1)returnx;intm=x;while(――n){cin>>x;m+=x;}returnm;}求輸入的n個數(shù)之和。4.doubleSF(doublex,intn){//n為大于等于0的整數(shù)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的整數(shù)inta=int(sqrt(x));//取x的平方根inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=a)return0;elsereturn1;}判斷整數(shù)x是否為質數(shù),若為質數(shù)返回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;}求鍵盤輸入的數(shù)的平均值,輸入-100結束(不計在平均值內(nèi)),若沒有數(shù)輸入則返回0。計算機應用專業(yè)“C++語言程序設計”課程作業(yè)第二次作業(yè)填空題1.假定一個一維數(shù)組的定義為“char*a[5];”,則該數(shù)組所含元素的個數(shù)為5,所占存儲空間的字節(jié)數(shù)為20。2.假定一個二維數(shù)組的定義為“inta[4][6];”,則該數(shù)組所含元素的個數(shù)為24,所占存儲空間的字節(jié)數(shù)為96。3.假定一個二維數(shù)組的定義為“chara[8][8];”,則該數(shù)組所含元素的個數(shù)為64,所占存儲空間的字節(jié)數(shù)為64。4.執(zhí)行“typedeffloatABC[10];”語句把ABC定義為具有10個單精度元素的數(shù)組。5.在函數(shù)外定義的變量稱為全局變量,若沒有被初始化則系統(tǒng)隱含對它賦初值0。6.函數(shù)中的形參變量的初值由調(diào)用該函數(shù)時獲得。7.函數(shù)調(diào)用時,實參向形參的傳送分為傳值和傳址兩種傳送方式。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寫出下列每個函數(shù)的功能1.intWC(inta[],intn,intk){intc=0;for(inti=0;i<n;i++)if(a[i]>=k)c++;returnc;}返回有n個元素的整型數(shù)組a中大于等于整數(shù)k的元素個數(shù)。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;}}函數(shù)功能是將有n個元素的整型數(shù)組從小到大排列。3.#include<iosteram.h>template<classTT>intWG(TTa,TTb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}比較兩個任意類型的數(shù)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個元素的任意類型數(shù)組中最大的數(shù)。5.Template<classType>voidWE(Typea[],Typeb[],intn){for(inti=0;i<n;i++)b[i]=a[i]*2;}將有n個元素的任意類型數(shù)組a中的每個元素乘以2后放到數(shù)組b中的相應位置中。計算機應用專業(yè)“C++語言程序設計”課程作業(yè)第三次作業(yè)填空題1.假定p所指對象的值為28,p+1所指對象的值為62,則*p++的值為28。2.假定p所指對象的值為28,p+1所指對象的值為62,則*++p的值為62。3.假定p所指對象的值為25,p+1所指對象的值為50,則執(zhí)行“(*p)++;”語句后,p所指對象的值為26。4.假定p所指對象的值為25,p+1所指對象的值為50,則執(zhí)行“*(p++);”語句后,p所指對象的值為50。5.假定a是一個指針數(shù)組,則a+i所指對象的地址比a地址大未知字節(jié)。6.假定a是一個一維數(shù)組,則a[i]的指針訪問方式為*(a+i)。7.假定a是一個二維數(shù)組,則a[i][j]的指針訪問方式為*(*(a+i)+j)??赡懿徽_可能不正確8.假定a是一個一維數(shù)組,則a[i]對應的存儲地址(以字節(jié)為單位)為(char*)a+i*sizeof(a[0])。9.假定一個二維數(shù)組為a[M][N],則a[i][j]對應的存儲地址(以字節(jié)為單位)為(char*)a+(i*N+j)*sizeof(a[0][0])。10.假定一個二維數(shù)組a[M][N],則a[i]的地址值(以字節(jié)為單位)為(char*)a+i*N*sizeof(a[0][0])。11.假定p是一個指向float型數(shù)據(jù)的指針,則p+1所指數(shù)據(jù)的地址比p所指數(shù)據(jù)的地址大4字節(jié)。12.假定a為一個字符數(shù)組名,則元素a[8]的字節(jié)地址為8。13.假定a為一個整型數(shù)組名,則元素a[4]的字節(jié)地址為16。14.假定一個結構類型的定義為“structA{inta,b;shortc;A*d;};”,則該類型的大小為14字節(jié)。15.假定一個結構類型的定義為“structB{inta[8];char*b;};”,則該類型的大小為36字節(jié)。16.假定一個結構類型的定義為“structD{inta;union{intb;doublec;};D*d[3];};”,則該類型的大小為24字節(jié)。17.假定要動態(tài)分配一個類型為Worker的具有n個元素的數(shù)組,并由r指向這個動態(tài)數(shù)組,則使用的語句為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寫出下列每個函數(shù)的功能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個數(shù)并以相反的順序顯示出來。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];}將數(shù)組a中大于平均數(shù)的元素存放到動態(tài)申請的數(shù)組b中,數(shù)組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;}創(chuàng)建有n個結點的StrNode類型的鏈表,并從鍵盤輸入每個結點的name值。5.//structStrNode{charname[15];StrNode*next;};voidQC(StrNode*f){whlie(f){cout<<f->name<<’’;f=f->next;}}遍歷鏈表并輸出所有結點的name數(shù)據(jù)成員計算機應用專業(yè)“C++語言程序設計”課程作業(yè)第四次作業(yè)填空題在定義類對象的語句執(zhí)行時,系統(tǒng)在建立每個對象的過程中將自動調(diào)用該類的_構造函數(shù)_____使其初始化。當一個類對象被撤消時將自動調(diào)用該類的__析構函數(shù)_________。對基類數(shù)據(jù)成員的初始化是通過執(zhí)行派生類構造函數(shù)中的__初始化表_____來實現(xiàn)的。對一個類中的數(shù)據(jù)成員的初始化可以通過構造函數(shù)中的_初始化表___實現(xiàn),也可以通過構造函數(shù)中的__賦值語句________實現(xiàn)。在一個派生類中,對基類成員、類對象成員和非類對象成員的初始化次序的先基類成員,后類對象成員,最后非對象成員。當撤消一個含有基類和類對象成員的派生類對象時,將首先完成派生類本身的析構函數(shù)定義體的執(zhí)行,接著完成類對象成員的析構函數(shù)定義體的執(zhí)行,最后完成基類成員的析構函數(shù)定義體的執(zhí)行。設PX是指向一個類動態(tài)對象的指針變量,則執(zhí)行“deletepx;”語句時,將自動調(diào)用該類的析構函數(shù)。當一個類對象離開它的作用域時,系統(tǒng)將自動調(diào)用該類的析構函數(shù)。假定一個類對象數(shù)組為A[N],當離開它的作用域時,系統(tǒng)自動調(diào)用該類析構函數(shù)的次數(shù)為N次。假定AB為一個類,則執(zhí)行“ABa[10];”語句時,系統(tǒng)自動調(diào)用該類構造函數(shù)的次數(shù)為10次。假定擁護沒有給一個名為AB的類定義構造函數(shù),則系統(tǒng)為其隱含定義的構造函數(shù)為空構造函數(shù)。假定用戶沒有給一個名為AB的類定義析構函數(shù),則系統(tǒng)為其隱含定義的析構函數(shù)為空析構函數(shù)。若需要把一個函數(shù)“voidf();”定義為一個類AB的友元函數(shù),則應在類AB的定義中加入一條語句:friendvoidf();。若需要把一個類AB定義為一個類CD的友元類,則應在類CD的定義中加入一條語句:friendclassAB;。假定一個類AB中有一個靜態(tài)整型成員bb,在類外為它進行定義并初始化為0時,所使用寫法為AB:bb=0;。假定類AB中有一個公用屬性的靜態(tài)數(shù)據(jù)成員bb,在類外不通過對象名訪問該成員bb的寫法為AB:bb。當類中一個字符指針成員指向具有n個字節(jié)的儲存空間時,它所能儲存字符串的最大長度為n-1。假定AB為一個類,則該類的拷貝構造函數(shù)的聲明語句為AB:AB(AB&)。對類對象成員初始化是通過執(zhí)行構造函數(shù)中的初始化表完成的。對于類中定義的成員,其隱含訪問權限為private,對于結構中定義的成員,其隱含訪問權限為public。一個類的友元函數(shù)或友元類能夠通過成員操作符訪問該類的所有數(shù)據(jù)成員和函數(shù)成員。假定要對類AB定義加號操作符重載成員函數(shù),實現(xiàn)兩個AB類對象的加法,并返回相加結果,則該成員函數(shù)的聲明語句為:ABoperator+(AB,AB);。在C++流類庫中,根基類為ios。在C++流類庫中,輸入流類和輸出流類的名稱分別為istream和ostream。若要在程序文件中進行標準輸入輸出操作,則必須在開始的#inlude命令中使用iosteam.h頭文件。若要在程序文件中進行文件輸入輸出操作,則必須在開始的#inlude命令中使用fstream.h頭文件。當從字符文件中讀取回車和換行兩個字符時,被系統(tǒng)看作為一個換行符。當使用ifstream流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為讀取的文本文件,當使用ofstream流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為寫入的文本文件。當需要使用istrstream流類定義一個流對象并聯(lián)系一個字符串時,應在文件開始使用#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>classA{inta,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
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國冷凍廣式點心行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球半導體旋涂玻璃行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國高分辨率盤式離心粒度分析儀行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025銷售合同天津步思特科技有限公司貨物與售后服務
- 家庭裝修合同書
- 2025二期消防水炮火災自動報警及聯(lián)動控制系統(tǒng)供貨維修項目施工合同
- 2025鋼筋勞務用工合同全面版
- 預拌混凝土采購合同
- 提高污水處理效果的技術改進研究
- 民間借款合同示范文本
- SB-T 11238-2023 報廢電動汽車回收拆解技術要求
- 旅游公司發(fā)展規(guī)劃
- 新舊施工現(xiàn)場臨時用電安全技術規(guī)范對照表
- 03軸流式壓氣機b特性
- 五星級酒店收入測算f
- 某省博物館十大展陳評選項目申報書
- GB/T 9109.5-2017石油和液體石油產(chǎn)品動態(tài)計量第5部分:油量計算
- GB/T 16316-1996電氣安裝用導管配件的技術要求第1部分:通用要求
- GA/T 455-2021居民身份證印刷要求
- 邀請函模板完整
- 建設工程施工合同糾紛涉及的法律適用問題課件
評論
0/150
提交評論