![浙大遠(yuǎn)程面向?qū)ο蟪绦蛟O(shè)計(jì)離線作業(yè)答案_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c2e975ba-d45b-485d-b634-921692e73692/c2e975ba-d45b-485d-b634-921692e736921.gif)
![浙大遠(yuǎn)程面向?qū)ο蟪绦蛟O(shè)計(jì)離線作業(yè)答案_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c2e975ba-d45b-485d-b634-921692e73692/c2e975ba-d45b-485d-b634-921692e736922.gif)
![浙大遠(yuǎn)程面向?qū)ο蟪绦蛟O(shè)計(jì)離線作業(yè)答案_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c2e975ba-d45b-485d-b634-921692e73692/c2e975ba-d45b-485d-b634-921692e736923.gif)
![浙大遠(yuǎn)程面向?qū)ο蟪绦蛟O(shè)計(jì)離線作業(yè)答案_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c2e975ba-d45b-485d-b634-921692e73692/c2e975ba-d45b-485d-b634-921692e736924.gif)
![浙大遠(yuǎn)程面向?qū)ο蟪绦蛟O(shè)計(jì)離線作業(yè)答案_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c2e975ba-d45b-485d-b634-921692e73692/c2e975ba-d45b-485d-b634-921692e736925.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、浙江大學(xué)遠(yuǎn)程教育學(xué)院面向?qū)ο蟪绦蛟O(shè)計(jì)課程作業(yè)姓名:董建良學(xué) 號(hào):715005012034年級(jí):2015年秋學(xué)習(xí)中心:杭州學(xué)習(xí)中心第2章【2.3】 測(cè)試下面的注釋(它在C+風(fēng)格的單行注釋中套入了類(lèi)似于C的注釋)是否有效。/this is a strange /*way to do a comment*/答:此注釋有效,單行注釋中可以嵌套 / * /方式的注釋?!?.4】 以下這個(gè)簡(jiǎn)短的C+程序不可能編譯通過(guò),為什么? #include<iostream>using namespace std;int main()int a,b,c; cout<<"Enter t
2、wo numbers:" cin>>a>>b; c=sum(a,b); cout<<"sum is:"<<c; return 0;sum(int a,int b) return a+b;答:不可能通過(guò)編譯,sum的使用在其聲明之前是非法的,應(yīng)增加一行sum(int a,int b); 放在using namespace std;之后?!?.5】 回答問(wèn)題。(1) 以下兩個(gè)函數(shù)原型是否等價(jià):float fun(int a,float b,char *c);float fun(int,float,char * );(2)
3、 以下兩個(gè)函數(shù)的第一行是否等價(jià):float fun(int a,float b,char * c);float fun(int,float,char * );答:(1)兩個(gè)函數(shù)原型等價(jià),因?yàn)楹瘮?shù)原型中的參數(shù)名可以缺省。(2)兩個(gè)函數(shù)的第一行不等價(jià),因?yàn)楹瘮?shù)的第一行必須包括參數(shù)名?!?.6】 下列語(yǔ)句中錯(cuò)誤的是( D )。Aint *p=new int(10); Bint *p=new int10;Cint *p=new int; Dint *p=new int40(0);【2.7】 假設(shè)已經(jīng)有定義“const char * const name="chen"”下面的語(yǔ)句中正
4、確的是( D )。A. name3='a' B. name="lin"C. name=new char5; D. cout<<name3;【2.8】 假設(shè)已經(jīng)有定義“char * const name="chen"”下面的語(yǔ)句中正確的是( A )。A. name3='q' B. name="lin"C. name=new char5; D. name=new char('q');【2.9】 假設(shè)已經(jīng)有定義“const char * name="chen"”
5、下面的語(yǔ)句中錯(cuò)誤的是( A )。A. name3='q' B. name="lin"C. name=new char5; D. name=new char('q');【2.10】重載函數(shù)在調(diào)用時(shí)選擇的依據(jù)中,( B )是錯(cuò)誤的。 A函數(shù)名字 B函數(shù)的返回類(lèi)型 C參數(shù)個(gè)數(shù) D參數(shù)的類(lèi)型【2.11】 在( A )情況下適宜采用內(nèi)聯(lián)函數(shù)。 A函數(shù)代碼小,頻繁調(diào)用 B函數(shù)代碼多,頻繁調(diào)用 C函數(shù)體含有遞歸語(yǔ)句 D. 函數(shù)體含有循環(huán)語(yǔ)句【2.12】 下列描述中,( C )是錯(cuò)誤的。 A. 內(nèi)聯(lián)函數(shù)主要解決程序的運(yùn)行效率問(wèn)題 B. 內(nèi)聯(lián)函數(shù)的定義必須出現(xiàn)
6、在內(nèi)聯(lián)函數(shù)第一次被調(diào)用之前 C. 內(nèi)聯(lián)函數(shù)中可以包括各種語(yǔ)句 D. 對(duì)內(nèi)聯(lián)函數(shù)不可以進(jìn)行異常接口聲明【2.13】 在C+中,關(guān)于下列設(shè)置默認(rèn)參數(shù)值的描述中,( B )是正確的。 A不允許設(shè)置默認(rèn)參數(shù)值 B在指定了默認(rèn)值的參數(shù)右邊,不能出現(xiàn)沒(méi)有指定默認(rèn)值的參數(shù) C只能在函數(shù)的定義性聲明中指定參數(shù)的默認(rèn)值D. 設(shè)置默認(rèn)參數(shù)值時(shí),必須全部都設(shè)置 【2.14】 下面的類(lèi)型聲明中正確是( D )。 A. int &a4; B. int &*p; C.int &&q; D. int i,*p=&i;【2.15】 下面有關(guān)重載函數(shù)的說(shuō)法中正確的是( C )。 A重載函
7、數(shù)必須具有不同的返回值類(lèi)型 B重載函數(shù)形參個(gè)數(shù)必須不同 C. 重載函數(shù)必須有不同的形參列表 D重載函數(shù)名可以不同 【2.16】 關(guān)于new運(yùn)算符的下列描述中,( D )是錯(cuò)誤的。 A,它可以用來(lái)動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組 B. 使用它創(chuàng)建的對(duì)象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除 C. 使用它創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù) D. 使用它創(chuàng)建對(duì)象數(shù)組時(shí)必須指定初始值 【2.17】 關(guān)于delete運(yùn)算符的下列描述中,( C )是錯(cuò)誤的。 A它必須用于new返回的指針 B. 使用它刪除對(duì)象時(shí)要調(diào)用析構(gòu)函數(shù) C. 對(duì)一個(gè)指針可以使用多次該運(yùn)算符 D指針名前只有一對(duì)方括號(hào)符號(hào),不管所刪除數(shù)組的維數(shù)【2.18
8、】 寫(xiě)出下列程序的運(yùn)行結(jié)果。 #include<iostream>using namespace std;int i=15;int main() int i; i=100; :i=i+1; cout<<:i<<endl; return 0;答:運(yùn)行結(jié)果是101因?yàn)?i=i+1; 中:i 是全局變量,i是局部變量。 【2.19】 寫(xiě)出下列程序的運(yùn)行結(jié)果。#include<iostream>using namespace std;void f(int &m,int n) int temp;temp=m;m=n;n=temp;int main(
9、) int a=5,b=10; f(a,b); cout<<a<<" "<<b<<endl; return 0;答:運(yùn)行結(jié)果是10 10因?yàn)楹瘮?shù)f(int &m,int n)中第一個(gè)參數(shù)是引用參數(shù),引用函數(shù)是一種按地址傳遞參數(shù)的方法,對(duì)它的調(diào)用是傳地址調(diào)用,第二個(gè)參數(shù)是變量參數(shù),對(duì)它的調(diào)用是傳值調(diào)用?!?.20】 分析下面程序的輸出結(jié)果。#include<iostream>using namespace std;int &f(int &i) i+=10; return i;int main(
10、) int k=0;int &m=f(k);cout<<k<<endl;m=20;cout<<k<<endl;return 0;答:運(yùn)行結(jié)果是1020因?yàn)楹瘮?shù)f參數(shù)是變量的引用,對(duì)它的調(diào)用是傳地址調(diào)用,函數(shù)f調(diào)用后,k的值變?yōu)?0,而m是對(duì)函數(shù)f的引用,m被賦值20,k的值也變?yōu)?0.【2.21】 舉例說(shuō)明可以使用const替代define以消除define的不安全性。答:例如:#include <iostream.h>#define A 1+2#define B A*4void main() cout<<B<
11、;<endl; 上面程序的運(yùn)行結(jié)果是9而不是12,但很容易被認(rèn)為是12。如果用const替代#define就能得到正確結(jié)果,從而消除了#define的不安全性。#include <iostream.h>const A=1+2;const B=A*4; void main() cout<<B<<endl; 運(yùn)行結(jié)果為12?!?.22】 編寫(xiě)一個(gè)C+風(fēng)格的程序,用動(dòng)態(tài)分配空間的方法計(jì)算Fibonacci 數(shù)列的前20項(xiàng),并存儲(chǔ)到動(dòng)態(tài)分配的空間中。答:#include<iostream.h> int main() int *p=new int20
12、; *p=1; *(p+1)=1; cout<<*p<<"t"<<*(p+1)<<"t" p=p+2; for(int i=3;i<=20;i+) *p=*(p-1)+*(p-2); cout<<*p<<"t" if(i%5=0)cout<<endl; p+; return 0;【2.23】 編寫(xiě)一個(gè)C+風(fēng)格的程序,建立一個(gè)被稱(chēng)為sroot()的函數(shù),返回其參數(shù)的二次方根。重載sroot()3次,讓它返回整數(shù)、長(zhǎng)整數(shù)與雙精度數(shù)的二次方根(計(jì)算二次
13、方根時(shí),可以使用標(biāo)準(zhǔn)庫(kù)函數(shù)sqrt()。答:#include<iostream.h>#include<cmath> double sroot(int a) return sqrt(a); double sroot(long b) return sqrt(b); double sroot(double c) return sqrt(c); int main() int i=67; long l=6789; double d=67.89; cout<<"i的二次方根是:"<<sroot(i)<<endl; cout&l
14、t;<"l的二次方根是:"<<sroot(l)<<endl; cout<<"d的二次方根是:"<<sroot(d)<<endl; return 0; 【2.24】 編寫(xiě)一個(gè)C+風(fēng)格的程序,解決百錢(qián)問(wèn)題:將一元人民幣兌換成1、2、5分的硬幣,有多少種換法?答:#include<iostream> using namespace std; int main() int i,j,sum=0; for(i=0;i<=20;i+) for(j=0;j<=50;j+) if(1
15、00-5*i-2*j>=0) sum+; cout<<100-5*i-2*j<<"t"<<j<<"t"<<i<<endl; cout<<"sum is "<<sum<<endl; return 0;【2.25】 編寫(xiě)一個(gè)C+風(fēng)格的程序,輸入兩個(gè)整數(shù),將它們按由小到大的順序輸出。要求使用變量的引用。答:#include<iostream>using namespace std;void change(int &a
16、mp;,int &); int main() int a,b; cin>>a>>b; if(a>b) change(a,b); cout<<a<<" "<<b<<endl; return 0; void change(int &m,int &n)int temp; temp=m; m=n; n=temp; 第三章:【3.7】 在下面有關(guān)對(duì)構(gòu)造函數(shù)的描述中,正確的是( B )。 A構(gòu)造函數(shù)可以帶有返回值 B構(gòu)造函數(shù)的名字與類(lèi)名完全相同 C構(gòu)造函數(shù)必須帶有參數(shù) D構(gòu)造函數(shù)必須定
17、義,不能默認(rèn)【3.8】 在聲明類(lèi)時(shí),下面的說(shuō)法正確的是( C )。 A可以在類(lèi)的聲明中給數(shù)據(jù)成員賦初值 B數(shù)據(jù)成員的數(shù)據(jù)類(lèi)型可以是register Cprivate、public、protected可以按任意順序出現(xiàn) D沒(méi)有用private、public、protected定義的數(shù)據(jù)成員是公有成員【3.9】 在下面有關(guān)析構(gòu)函數(shù)特征的描述中,正確的是( C )。 A一個(gè)類(lèi)中可以定義多個(gè)析構(gòu)函數(shù) B. 析構(gòu)函數(shù)名與類(lèi)名完全相同 C. 析構(gòu)函數(shù)不能指定返回類(lèi)型 D. 析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù)【3.10】 構(gòu)造函數(shù)是在( B )時(shí)被執(zhí)行的。 A程序編譯 B. 創(chuàng)建對(duì)象 C. 創(chuàng)建類(lèi) D程序裝人內(nèi)存
18、【3.11】 在下面有關(guān)靜態(tài)成員函數(shù)的描述中,正確的是( B )。 A在靜態(tài)成員函數(shù)中可以使用this指針 B. 在建立對(duì)象前,就可以為靜態(tài)數(shù)據(jù)成員賦值 C. 靜態(tài)成員函數(shù)在類(lèi)外定義時(shí),要用static前綴 D. 靜態(tài)成員函數(shù)只能在類(lèi)外定義【3.12】 在下面有關(guān)友元函數(shù)的描述中,正確的說(shuō)法是 A )。 A友元函數(shù)是獨(dú)立于當(dāng)前類(lèi)的外部函數(shù) B. 一個(gè)友元函數(shù)不能同時(shí)定義為兩個(gè)類(lèi)的友元函數(shù) C. 友元函數(shù)必須在類(lèi)的外部定義 D. 在外部定義友元函數(shù)時(shí),必須加關(guān)鍵字friend【3.13】 友元的作用之一是(A)。 A提高程序的運(yùn)行效率 B加強(qiáng)類(lèi)的封裝性 C. 實(shí)現(xiàn)數(shù)據(jù)的隱藏性 D. 增加成員函數(shù)
19、的種類(lèi)【3.14】 以下程序運(yùn)行的結(jié)果是( B )。#include<iostream>using namespace std;class Bpublic:B()B(int i,int j) x=i; y=j;void printb()cout<<x<<","<<y<<endl;private:int x,y;class A public: A() A(int I,int j); void printa(); private: B c;A:A(int i,int j):c(i,j)void A:printa()c.
20、printb();int main() A a(7,8);a.printa();return 0;A8,9 B. 7,8 C. 5,6 D. 9,10【3.15】 以下程序的運(yùn)行結(jié)果是( A )。 #include<iostream>using namespace std;class A public:void set(int i,int j) x=i; y=j;int get_y()return y;private:int x,y;class box public: void set(int l,int w,int s,int p) length=1; width=w; labe
21、l.set(s,p); int get_area() return length*width; private: int length,width; A label;int main() box b;b.set(4,6,1,20);cout<<b.get_area()<<endl;return 0;A24 B. 4 C. 20 D. 6【3.16】 以下程序的運(yùn)行結(jié)果是( B )。 #include<iostream>using namespace std;class Sample public: Sample(int i,int j) x=i; y=j;
22、void disp() cout<<"disp1"<<endl; void disp() const cout<<"disp2"<<endl; private: int x,y;int main()const Sample a(1,2); a.disp(); return 0;A. disp1 B.disp2 C. disp1 disp2 D. 程序編譯出錯(cuò)【3.17】 以下程序的運(yùn)行結(jié)果是( B )。 #include<iostream>using namespace std;class R
23、public: R(int r1,int r2) R1=r1; R2=r2; void print(); void print() const; private: int R1,R2;void R:print()cout<<R1<<","<<R2<<endl;void R:print() constcout<<R1<<","<<R2<<endl;int main() R a(6,8);const R b(56,88);b.print();return 0; A
24、. 6,8 B. 56,88 C. 0,0 D. 8,6【3.18】 寫(xiě)出下面程序的運(yùn)行結(jié)果。 #include<iostream>using namespace std;class toy public: toy(int q,int p) quan=q; price=p; int get_quan() return quan; int get_price() return price; private:int quan,price;int main() toy op32= toy(10,20),toy(30,48), toy(50,68),toy(70,80), toy(90,1
25、6),toy(11,120),;for(int i=0;i<3;i+)cout<<opi0.get_quan()<<"," cout<<opi0.get_price()<<"n" cout<<opi1.get_quan()<<"," cout<<opi1.get_price()<<"n"cout<<endl;return 0;答:運(yùn)行結(jié)果是10,2030,4850,6870,8090,1611,120【
26、3.19】 寫(xiě)出下面程序的運(yùn)行結(jié)果。 #include<iostream>using namespace std;class example public: example(int n) i=n; cout<<"Constructingn" example() cout<<"Destructingn"int get_i() return i;private:int i;int sqr_it(example o)return o.get_i()*o.get_i();int main() example x(10);cou
27、t<<x.get_i()<<endl;cout<<sqr_it(x)<<endl;return 0;答:運(yùn)行結(jié)果是Constructing10Destructing100Destructing【3.20】 寫(xiě)出下面程序的運(yùn)行結(jié)果。 #include<iostream>using namespace std;class aClass public: aClass() total+; aClass()total-;int gettotal() return total;private:static int total;int aClass
28、:total=0;int main()aClass o1,o2,o3; cout<<o1.gettotal()<<"objects in existencen" aClass *p; p=new aClass; if(!p) cout<<"Allocation errorn" return 1; cout<<o1.gettotal(); cout<<"objects in existence after allocationn" delete p; cout<<o
29、1.gettotal(); cout<<"objects in existence after deletionn" return 0;答:運(yùn)行結(jié)果是3 objects in existence4 objects in existence after allocation3 objects in existence after deletion【3.21】 寫(xiě)出下面程序的運(yùn)行結(jié)果。 #include<iostream>using namespace std;class test public: test(); test();private:int i
30、;test:test() i=25; for(int ctr=0;ctr<10;ctr+) cout<<"Counting at"<<ctr<<"n" test anObject;int main() return 0;答:運(yùn)行結(jié)果是Counting at0 Counting at1Counting at2Counting at3Counting at4Counting at5Counting at6Counting at7Counting at8Counting at9【3.22】 寫(xiě)出下面程序的運(yùn)行結(jié)果。 #
31、include<iostream>using namespace std;class Aint a,b;public:A()a=0; b=0; cout<<"Default constructor called.n"A(int i,int j)a=i; b=j; cout<<"Constructor: a="<<a<<",b="<<b<<endl;int main()A a3; A b3=A(1,2),A(3,4),A(5,6); return 0;
32、答:運(yùn)行結(jié)果是Default constructor called.Default constructor called.Default constructor called.Constructor: a=1,b=2Constructor: a=3,b=4Constructor: a=5,b=6【3.23】 寫(xiě)出下面程序的運(yùn)行結(jié)果。 #include<iostream>using namespace std;class Test private: int val; public: Test() cout<<"default."<<endl
33、; Test(int n) val=n; cout<<"Con."<<endl; Test(const Test& t) val=t.val; cout<<"Copy con."<<endl; ;int main()Test t1(6); Test t2=t1; Test t3; t3=t1; return 0;答:運(yùn)行結(jié)果是Con.Copy con.default.【3.24】 寫(xiě)出下面程序的運(yùn)行結(jié)果。 #include<iostream>using namespace std;cla
34、ss N private: int A; static int B; public: N(int a) A=a; B+=a; static void f1(N m);void N:f1(N m)cout<<"A="<<m.A<<endl;cout<<"B="<<B<<endl;int N:B=0;int main() N P(5),Q(9); N:f1(P); N:f1(Q); return 0;答:運(yùn)行結(jié)果是A=5B=149=9B=14【3.25】 寫(xiě)出下面程序的運(yùn)行結(jié)果。 #in
35、clude<iostream>using namespace std;class Mint x,y;public:M() x=y=0;M(int i,int j)x=i; y=j;void copy(M*m);void setxy(int i,int j)x=i; y=j;void print()cout<<x<<","<<y<<endl;void M:copy(M*m)x=m->x; y=m->y;void fun(M m1,M*m2)m1.setxy(12,15); m2->setxy(22,
36、25);int main()M p(5,7),q; q.copy(&p); fun(p,&q); p.print(); q.print(); return 0;答:運(yùn)行結(jié)果是5,722,25【3.26】 寫(xiě)出下面程序的運(yùn)行結(jié)果。 #include<iostream>using namespace std;class Mint A;static int B;public:M(int a)A=a; B+=a; cout<<"Constructing"<<endl;static void f1(M m);M()cout<&
37、lt;"Destructing n"void M:f1(M m)cout<<"A="<<m.A<<endl; cout<<"B="<<B<<endl;int M:B=0;int main()M p(5),Q(10); M:f1(p); M:f1(Q); return 0;答:運(yùn)行結(jié)果是ConstructingConstructingA=5B=15DestructingA=10B=15DestructingDestructingDestructing【3.27】 指
38、出下列程序中的錯(cuò)誤,并說(shuō)明為什么。 #include<iostream>using namespace std;class Studentpublic:void printStu();private:char name10;int age;float aver;int main() Student p1,p2,p3; p1.age=30; . . . return 0;答:語(yǔ)句“pl.age=30;”編譯出現(xiàn)錯(cuò)誤,因?yàn)閍ge是私有數(shù)據(jù)成員(private),不能被直接訪問(wèn)。【3.28】 指出下列程序中的錯(cuò)誤,并說(shuō)明為什么。#include<iostream>using
39、namespace std;class Studentint sno;int age; void printStu(); void setSno(int d);void printStu(); cout<<"nSno is"<<sno<<"," cout<<"age is"<<age<<"."<<endl;void setSno(int s) sno=s;void setAge(int a) age=a;int main() Stu
40、dent lin; lin.setSno(20021); lin.setAge(20); lin.printStu();答:有三個(gè)錯(cuò)誤:第一,printStu()和setSno(int d)兩個(gè)成員函數(shù)沒(méi)有用public定義,在默認(rèn)情況下屬于私有函數(shù),不允許外部函數(shù)對(duì)對(duì)象進(jìn)行操作;第二,成員函數(shù)printStu()和setSno(int d)在類(lèi)外定義,應(yīng)加上類(lèi)名“Student:” 第三,void setAge(int a)應(yīng)在類(lèi)中說(shuō)明,并在類(lèi)外定義,應(yīng)加上類(lèi)名“Student:” 【3.29】 指出下列程序中的錯(cuò)誤,并說(shuō)明為什么。#include<iostream>using
41、namespace std;class Pointpublic:int x,y;private:Piont()x=1;y=2;int main()Point cpoint; cpoint.x=2; return 0;答:有兩個(gè)錯(cuò)誤:第一:構(gòu)造函數(shù)名應(yīng)與類(lèi)名相同,“Piont()”應(yīng)改為“Point()” ;第二,構(gòu)造函數(shù)Point()是私有的,所以語(yǔ)句“Point cpoint;”執(zhí)行時(shí)出現(xiàn)錯(cuò)誤,原因是類(lèi)Point構(gòu)造函數(shù)私有,創(chuàng)建對(duì)象cpoint就不能調(diào)用它?!?.30】 下面是一個(gè)計(jì)算器類(lèi)的定義,請(qǐng)完成該類(lèi)成員函數(shù)的實(shí)現(xiàn)。class counterpublic:counter(int nu
42、mber); void increment(); /給原值加1void decrement(); /給原值減1int getvalue(); /取得計(jì)數(shù)器值int print(); /顯示計(jì)數(shù)private:int value;答:完整程序如下class counterpublic: counter(int number);void increment(); void decrement(); int getvalue(); int print(); private:int value; ; /成員函數(shù)的實(shí)現(xiàn)counter:counter(int number) value=number; v
43、oid counter:increment() value+;void counter:decrement() value-;int counter:getvalue() return value; int counter:print() cout<<”value is “<<value<<endl; return 0; 【3.31】 根據(jù)注釋語(yǔ)句的提示,實(shí)現(xiàn)類(lèi)Date的成員函數(shù)。#include<iostream>using namespace std;class Date public: void printDate(); /顯示日期 voi
44、d setDay(int d); /設(shè)置日的值 void setMonth(int m); /設(shè)置月的值 void setYear(int y); /設(shè)置年的值 private: int day,month,year;int main() Date testDay; testDay.setDay(5); testDay.setMonth(10); testDay.setYear(2003); testDay.printDate(); return 0;答:類(lèi)Date的成員函數(shù)如下void Date:printDate() cout<<"Date is"<&
45、lt;day<<"." cout<<month<<"."<<year<<endl; void Date:setDay(int d)day=d; void Date:setMonth(int m)month=m; void Date:setYear(int y)year=y;【3.32】 建立類(lèi)cylinder,cylinder的構(gòu)造函數(shù)被傳遞了兩個(gè)double值,分別表示圓柱體的半徑和高度。用類(lèi)cylinder計(jì)算圓柱體的體積,并存儲(chǔ)在一個(gè)double變量中。在類(lèi)cylinder中包含一個(gè)成員函
46、數(shù)vol,用來(lái)顯示每個(gè)cylinder對(duì)象的體積。答:#include<iostream.h>class cylinder public: cylinder(double a,double b); void vol(); private: double r,h; double volume;cylinder:cylinder(double a,double b) r=a; h=b; volume=3.141592*r*r*h;void cylinder:vol()cout<<"volume is:"<<volume<<&quo
47、t;n"int main() cylinder x(4.5,6.88); x.vol(); return 0;【3.33】 構(gòu)建一個(gè)類(lèi)book,其中含有兩個(gè)私有數(shù)據(jù)成員qu和price,將qu初始化為15,將price初始化為qu的10倍,建立一個(gè)有5個(gè)元素的數(shù)組對(duì)象。顯示每個(gè)對(duì)象數(shù)組元素的 qu*price值。答:#include<iostream>using namespace std;class book public: book(int a,int b)qu=a; price=b; void show_money() cout<<qu*price<
48、;<"n" private: int qu,price;int main() book ob5=book(1,10),book(2,20),book(3,30),book(4,40),book(5,50); for(int i=0;i<5;i+) obi.show_money(); return 0;【3.34】 修改習(xí)題3.33,通過(guò)對(duì)象指針訪問(wèn)對(duì)象數(shù)組,使程序以相反的順序顯示每個(gè)對(duì)象數(shù)組元素的 qu*price值。答:#include<iostream>using namespace std;class book public: book(int
49、 a,int b) qu=a,price=b; void show_money() cout<<qu*price<<"n" private: int qu,price;int main()book ob5=book(1,10),book(2,20),book(3,30),book(4,40),book(5,50); book *p; p=&ob4; for(int i=0;i<5;i+) p->show_money(); p-; return 0;【3.35】 構(gòu)建一個(gè)類(lèi) Stock,含字符數(shù)組stockcode及整型數(shù)據(jù)成員qu
50、an、雙精度型數(shù)據(jù)成員price。構(gòu)造函數(shù)含3個(gè)參數(shù):字符數(shù)組na及q、p。當(dāng)定義Stock的類(lèi)對(duì)象時(shí),將對(duì)象的第1個(gè)字符串參數(shù)賦給數(shù)據(jù)成員stockcode,第2和第3個(gè)參數(shù)分別賦給quan、price。未設(shè)置第2和第3個(gè)參數(shù)時(shí),quan的值為1000,price的值為8.98。成員函數(shù)print沒(méi)有形參,需使用this指針,顯示對(duì)象數(shù)據(jù)成員的內(nèi)容。假設(shè)類(lèi)Stock第1個(gè)對(duì)象的三個(gè)參數(shù)分別為:“600001”,3000和5.67,第2個(gè)對(duì)象的第1個(gè)數(shù)據(jù)成員的值是“600001”,第2和第3個(gè)數(shù)據(jù)成員的值取默認(rèn)值。要求編寫(xiě)程序分別顯示這兩個(gè)對(duì)象數(shù)據(jù)成員的值。答:#include <ios
51、tream> class Stock public: Stock(char na, int q=1000, double p=8.98) : stockcode(na), quan(q), price(p) void print(void) std:cout << this->stockcode << " " << quan << " " << price << std:endl; private: char *stockcode; int quan; double pr
52、ice; int main(int argc, char *argv) char szTestString = "600001" int iTestInteger = 3000; double dTestDouble = 5.67; Stock stObj1(szTestString, iTestInteger, dTestDouble); Stock stObj2(szTestString); stObj1.print(); stObj2.print(); return 0;【3.36】 編寫(xiě)一個(gè)程序,已有若干學(xué)生的數(shù)據(jù),包括學(xué)號(hào)、姓名、成績(jī),要求輸出這些學(xué)生的數(shù)據(jù)并計(jì)算出學(xué)生人數(shù)和平均成績(jī)(要求將學(xué)生人數(shù)和總成績(jī)用靜態(tài)數(shù)據(jù)成員表示)。答:#include<iostream>using namespace std;#include<string.h> #define N 4 class student
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度解除互聯(lián)網(wǎng)廣告合作合同
- 施工現(xiàn)場(chǎng)卸料風(fēng)險(xiǎn)點(diǎn)告知卡
- 職場(chǎng)技能提升的家庭作業(yè)實(shí)踐案例
- 家庭健康教育從理論到實(shí)踐的探索
- 科技展會(huì)中的人工智能與用戶(hù)體驗(yàn)研究報(bào)告
- 二手房銷(xiāo)售合同樣本大全
- 臨時(shí)倉(cāng)儲(chǔ)設(shè)備租賃合同2025
- 二手房買(mǎi)賣(mài)合同補(bǔ)充協(xié)議書(shū)范本
- 產(chǎn)品銷(xiāo)售獨(dú)家代理合同樣本
- 中介代理辦公租賃合同
- 2024東莞市勞動(dòng)局制定的勞動(dòng)合同范本
- 2024年大學(xué)本科課程教育心理學(xué)教案(全冊(cè)完整版)
- 三甲醫(yī)院面試自我介紹課件
- 公務(wù)員2010年國(guó)考《申論》真題卷及答案(地市級(jí))
- 2023-2024學(xué)年福建省廈門(mén)市八年級(jí)(上)期末物理試卷
- 2025屆上海交大南洋中學(xué)語(yǔ)文高三第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 環(huán)保局社會(huì)管理創(chuàng)新方案策劃方案
- 主題二任務(wù)二 《探究身邊信息技術(shù)的奧秘》 教學(xué)設(shè)計(jì) 2023-2024學(xué)年桂科版初中信息技術(shù)七年級(jí)上冊(cè)
- 人教八年級(jí)上冊(cè)英語(yǔ)第一單元《Section A (1a-2d)》教學(xué)課件
- 2023年版《安寧療護(hù)實(shí)踐指南(試行)》解讀課件
- 電工班三級(jí)安全教育內(nèi)容范本
評(píng)論
0/150
提交評(píng)論