




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、面向?qū)ο蟪绦蛟O(shè)計(jì)習(xí)題集一、選擇題(本大題共10小題,每小題2分,共20分)/內(nèi)容大多來自書中的習(xí)題和模擬考試題1說明友元函數(shù)的關(guān)鍵字是 。(A) class (B) inline (C) friend (D) template2下列程序運(yùn)行結(jié)果是 。#include<iostream.h>class jk2int a;public:jk2(int aa)a=aa;cout<<"5"jk2()cout<<"7" void lista()cout<<a;void main()jk2 *p=new jk2(6);
2、p->lista();delete p; (A)765 (B) 567 (C) 657 (D)7563下列程序運(yùn)行結(jié)果是 。#include<iostream.h>class jk3int a,b;public:jk3(int xa,int xb=0)a=xa;b=xb; cout<<a; void y3()cout<<b; ;void main() jk3 x1(1),x2(2); x1.y3(); x2.y3(); (A)0012 (B) 2100 (C) 1200 (D)004下列程序運(yùn)行結(jié)果是 。#include<iostream.h&g
3、t;class wg double m;static double s;public:wg(double x)m=x;s=s+x;wg()s=s-m;void disp() cout<<s; ;double wg:s=0;void main() wg x1(1.1),x2(2.2),x3(3.3),x4(4.4); x3.wg(); x3.disp(); (A) 7.8 (B) 7.7 (C) 7.6 (D) 115下列程序運(yùn)行結(jié)果是 。#include<iostream.h>class A public:int x,y;A(int x1,int x2)x=x1;y=x
4、2; ;class B:public A public:char *t; B(int x1,int x2,char *s):A(x1,x2)t=s; ;void main()B b(8,8,"信息工程學(xué)院");A a(7,7), *p;p=&a;cout<<p->x<<p->y;p=&b;cout<<p->x<<p->y; (A)7878 (B) 8787 (C) 7788 (D)88776執(zhí)行下面程序段后, k的值為 。int m,k;for(k=1,m=0;k<=50;k+)i
5、f(m>=10) break;if(m%2=0)m+=5;continue;m-=3; (A)9 (B)8 (C) 11 (D)107指針變量保存了另一變量的地址值,不可以任意給指針變量賦一個(gè)地址值,只能賦給它NULL和已經(jīng)分配了內(nèi)存的變量的地址的地址。使用變量名來訪問變量,是按按變量的地址來直接存取變量稱為直接訪問方式;而借助指針變量取得另一變量的地址,訪問該變量稱為 方式。(A) 宏 (B)引用 (C)間接訪問 (D)直接訪問 8設(shè)有函數(shù)說明如下:int f(int x, int y) return x%y+1; 假定a=10,b=4,c=5,則語句cout<<f(f(a
6、+c,b),f(b,c);的執(zhí)行結(jié)果是 。(A)2 (B) 5 (C) 4 (D)79.友元的作用之一是 。(A)提高程序的執(zhí)行效率 (B)加強(qiáng)類的封裝性 (C)增加成員函數(shù)的種類 (D)實(shí)現(xiàn)數(shù)據(jù)的隱藏性10.使用派生類的主要原因是 。(A)提高程序的運(yùn)行效率 (B)提高代碼的可重用性(C)加強(qiáng)類的封裝性 (D)實(shí)現(xiàn)數(shù)據(jù)的隱藏二、填空題(本大題共10小題,每小題2分,共20分)/內(nèi)容大多來自書中的習(xí)題和模擬考試題1引用通常用作函數(shù)的 和返回值。2構(gòu)造函數(shù)名同類名,構(gòu)造函數(shù)無函數(shù)返回類型。類中可以有 個(gè)構(gòu)造函數(shù),它們由不同的參數(shù)表區(qū)分。如果類說明中沒有給出構(gòu)造函數(shù),則C+編譯器會(huì)自動(dòng)給出一個(gè)默認(rèn)
7、的構(gòu)造函數(shù)。3一個(gè)類只有一個(gè)析構(gòu)函數(shù), 時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用析構(gòu)函數(shù)。4在C+中“流”是表示數(shù)據(jù)從一個(gè)對(duì)象到另一個(gè)對(duì)象的傳送。從流中取得數(shù)據(jù)稱為提取操作,用符號(hào) 表示;向流中添加數(shù)據(jù)稱為插入操作,用符號(hào) 表示。5運(yùn)算符重載時(shí),其函數(shù)名由關(guān)鍵字operator和該運(yùn)算符構(gòu)成。成員函數(shù)重載雙目運(yùn)算符時(shí),左操作數(shù)是 ,右操作數(shù)是 。6+根據(jù)文件內(nèi)容的數(shù)據(jù)格式可分為兩類:文本文件和 ,前者存取的最小信息單位為字符,后者為字節(jié)。7使用變量名訪問變量,是按變量的地址來直接存取變量稱為 訪問方式;使用指針變量取得另一變量的地址再訪問變量稱為間接訪問方式。8C+中多態(tài)性包括兩種多態(tài)性:編譯時(shí)的和運(yùn)行時(shí)的。前者是
8、通過函數(shù)和運(yùn)算符的重載實(shí)現(xiàn)的,而后者是通過類繼承關(guān)系和 來實(shí)現(xiàn)的。9C+中多態(tài)性包括兩種多態(tài)性:編譯時(shí)的和運(yùn)行時(shí)的。前者是通過函數(shù)和運(yùn)算符的重載實(shí)現(xiàn)的,而后者是通過類繼承關(guān)系和 虛函數(shù) 來實(shí)現(xiàn)的。10被定義為形參的是在函數(shù)中起 自變量 作用的變量,形參只能用 變量名 表示。實(shí)參的作用是 將實(shí)際參數(shù)的值傳遞給形參 ,實(shí)參可以用具有值的變量 、 常量 、 表達(dá)式 表示。11局部域包括塊域 、函數(shù)域和函數(shù)原型域 。使用局部變量的意義在于局部變量具有局部作用域使得程序在不同塊中可以使用同名變量 。12靜態(tài)局部變量存儲(chǔ)在全局?jǐn)?shù)據(jù) 區(qū),在編譯 時(shí)候建立,生存期為全局生存期 ,如定義時(shí)未顯式初始化,則其初值
9、為 0 。13局部變量存儲(chǔ)在棧 區(qū),在函數(shù)或塊開始執(zhí)行時(shí) 時(shí)候建立,生存期為函數(shù)或塊的執(zhí)行期,如定義時(shí)未顯式初始化,則其初值為隨機(jī)值 。14編譯預(yù)處理的作用是將源程序文件進(jìn)行處理,生成一個(gè)中間文件,編譯系統(tǒng)對(duì)此中間文件進(jìn)行編譯并生成目標(biāo)代碼 ,預(yù)處理指令的標(biāo)志是# 。多文件系統(tǒng)中,程序由 工程文件 來管理,用戶自定義頭文件中通常定義一些用戶構(gòu)造的數(shù)據(jù)類型(如枚舉類型),外部變量,外部函數(shù)、常量和內(nèi)聯(lián)函數(shù)等具有一定通用性或常用的量 。15通常在邏輯上,同一類的每個(gè)對(duì)象都有 獨(dú)立的 代碼區(qū),用以存儲(chǔ)成員函數(shù)。而在物理上通常只有 共用的 代碼區(qū)。只有在 在類說明中 定義,并 不包括循環(huán)等復(fù)雜結(jié)構(gòu) 的
10、函數(shù)和加了關(guān)鍵字 inline 的函數(shù)例外。16C+中支持三種域: 局部域(local scope) 、 名字空間域(namespace scope) 、 類域(class scope) 。函數(shù)域被包括在 局部域 中,全局域被包括在 名字空間域 中。using指示符以關(guān)鍵字using開頭,后面是關(guān)鍵字 namespace ,最后是 名字空間名 。這樣表示以后在該名字空間中所有成員都 可以直接被使用 。如不使用using指示符則在使用時(shí)要加:,稱為域 運(yùn)算符。17構(gòu)造函數(shù)的任務(wù)是 初始化數(shù)據(jù)成員 。構(gòu)造函數(shù)無 函數(shù)返回類型說明 。類中可以有 1個(gè)或 多 個(gè)構(gòu)造函數(shù),它們由 不同的參數(shù)表 區(qū)分。如
11、果類說明中沒有給出構(gòu)造函數(shù),則C+編譯器會(huì) 自動(dòng)給出一個(gè)默認(rèn)的構(gòu)造函數(shù) ??截悩?gòu)造函數(shù)的參數(shù)是 同一類對(duì)象的引用 ,當(dāng)程序沒有給出復(fù)制構(gòu)造函數(shù)時(shí),系統(tǒng)會(huì)自動(dòng)提供 默認(rèn)的的復(fù)制構(gòu)造函,稱為默認(rèn)的按成員語義支持 支持,這樣的復(fù)制構(gòu)造函數(shù)中每個(gè)類成員 被依次復(fù)制 。18純虛函數(shù)定義時(shí)在函數(shù)參數(shù)表后加 (1) ,它表明程序員對(duì)函數(shù) (2) ,其本質(zhì)是將指向函數(shù)體的指針定為 (3) 。答案:(1)=0(2)不定義(3)NULL19運(yùn)算符重載時(shí),其函數(shù)名由 關(guān)鍵字operator和該運(yùn)算符 構(gòu)成。成員函數(shù)重載雙目運(yùn)算符時(shí),左操作數(shù)是 對(duì)象 ,右操作數(shù)是 該函數(shù)的參數(shù) 。20面向過程的程序設(shè)計(jì)中程序模型描述
12、為 “程序=算法+數(shù)據(jù)結(jié)構(gòu)”。其數(shù)據(jù)與數(shù)據(jù)處理是分離的 ,面向?qū)ο蟪绦蛟O(shè)計(jì)的程序模型可描述為 程序=(對(duì)象+對(duì)象+對(duì)象)+消息;對(duì)象=(算法+數(shù)據(jù)結(jié)構(gòu))。面向?qū)ο笤O(shè)計(jì)將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作方法放在一起,形成一個(gè)相對(duì)獨(dú)立的整體對(duì)象(Object),并通過簡(jiǎn)單的接口與外部聯(lián)系。對(duì)象之間通過消息(Message)進(jìn)行通訊 。21固定指向一個(gè)對(duì)象的指針,稱為 (1) ,即 (2) ,定義時(shí)const放在 (3) 。而指向“常量”的指針稱為 (4) ,指針本身可以指向別的對(duì)象,但 (5) ,定義時(shí)const放在 (6) 。答案:(1)指針常量(2)指針本身是常量(3)const放在類型說明之后,變量名之前
13、(4)常量指針(5)不能通過該指針修改對(duì)象(6)const放在類型說明之前22數(shù)組名在表達(dá)式中被自動(dòng)轉(zhuǎn)換為指向 (1) 的指針常量,數(shù)組名是地址,但數(shù)組名中放的地址是 (2) ,所以數(shù)組名 (3) 。這樣數(shù)組名可以由 (4) 來代替,C+這樣做使用時(shí)十分方便,但丟失了數(shù)組的另一要素 (5) ,數(shù)組名是指向數(shù)組 (6) 的指針,而不是指向數(shù)組 (7)的。編譯器按數(shù)組定義的大小分配內(nèi)存,但運(yùn)行時(shí)對(duì) (8) 不加檢測(cè),這會(huì)帶來無法預(yù)知的嚴(yán)重錯(cuò)誤。答案:(1)數(shù)組第一個(gè)元素(2)不可改變的(3)稱指針常量(4)指針(5)數(shù)組元素的數(shù)量(6)元素(7)整體(8)對(duì)數(shù)組的邊界不加檢測(cè)23模板是為了實(shí)現(xiàn)代碼
14、的 (1) ,它把數(shù)據(jù)類型改為一個(gè) (2) ,稱為 (3) 程序設(shè)計(jì)。模板包括 (4) 和 (5) 。答案:(1)重用(2)設(shè)計(jì)參數(shù)(3)參數(shù)化(parameterize)(4)函數(shù)模板(function template)(5)類模板(class template)24調(diào)用函數(shù)模板時(shí),可以顯式指定模板參數(shù)類型,也可以隱式進(jìn)行,稱為 (1) ,這是根據(jù) (2) 來決定的。答案:(1)模板實(shí)參推演(template argument deduction)(2)一組實(shí)際類型或(和)值25C/C+定義了4個(gè)內(nèi)存區(qū)間: (1) 、 (2) 、 (3) 和 (4) 。答案:(1)代碼區(qū),存放程序代碼;
15、(2)全局變量與靜態(tài)變量區(qū),存放全局變量或?qū)ο螅òo態(tài));(3)局部變量區(qū)即棧(stack)區(qū),存放局部變量;(4)自由存儲(chǔ)區(qū)(free store),即動(dòng)態(tài)存儲(chǔ)區(qū)或堆(heap)區(qū)。26靜態(tài)定義的變量和對(duì)象用標(biāo)識(shí)符命名,稱為 (1) ;而動(dòng)態(tài)建立的稱為 (2) ,動(dòng)態(tài)建立對(duì)象的初始化是通過 (3) 實(shí)現(xiàn) (4) 。答案:(1)命名對(duì)象(2)無名對(duì)象(3)初始化式(initializer) (4)顯式初始化27在用new運(yùn)算符建立一個(gè)三維數(shù)組15*30*10時(shí),使用了 (1) 個(gè)下標(biāo)運(yùn)算符,對(duì)應(yīng)的用delete運(yùn)算符注銷這個(gè)三維數(shù)組時(shí)使用了 (2) 個(gè)下標(biāo)運(yùn)算符。new返回的指針是指向 (3
16、) 的指針。答案:(1)3個(gè) (2)1個(gè) (3)30行10列的2位數(shù)組28當(dāng)動(dòng)態(tài)分配失敗,系統(tǒng)采用 (1) 來表示發(fā)生了異常。如果new返回的指針丟失,則所分配的自由存儲(chǔ)區(qū)空間無法收回,稱為 (2) 。這部分空間必須在 (3) 才能找回,這是因?yàn)闊o名對(duì)象的生命期 (4) 。答案:(1)返回一個(gè)空指針(NULL)(2)內(nèi)存泄漏(3)重新啟動(dòng)計(jì)算機(jī)后(4)并不依賴于建立它的作用域29如果類繼承了類,則類稱為 (1) 類,而類稱為 (2) 類。 (3) 類的對(duì)象可作為 (4) 類的對(duì)象處理,反過來不行,因?yàn)?(5) 。如果強(qiáng)制轉(zhuǎn)換則要注意 (6) 。答案:(1)基類(2)派生類(3)派生類(4)基類
17、(5)派生類有一些新成員(6)只能派生類強(qiáng)制轉(zhuǎn)換為基類30當(dāng)用public繼承從基類派生一個(gè)類時(shí),基類的public成員成為派生類的 (1) 成員,protected成員成為派生類的 (2) 成員,對(duì)private成員是 (3) 。公有派生可以使其類的 (4) ,所以公有派生是主流。答案:(1)public成員(2)protected成員(3)不可訪問(4)接口不變31利用繼承能夠?qū)崿F(xiàn) (1) 。這種實(shí)現(xiàn)縮短了程序開發(fā)的時(shí)間,VC+中的 (2) 很好地體現(xiàn)了這一點(diǎn)。答案:(1)代碼的復(fù)用(2)MFC編程32一個(gè)派生類只有一個(gè)直接基類的情況稱為 (1) ,而有多個(gè)直接基類的情況稱為(2) 。繼承
18、體現(xiàn)了類的 (3) 概念,這在MFC中得到了很好表現(xiàn),MFC中只采用了 (4) 。答案:(1)單繼承(2)多重繼承(3)層次(4)單繼承33在基類中將一個(gè)成員函數(shù)說明成虛函數(shù)后,在其派生類中只要 (1) 、 (2) 和 (3) 完全一樣就認(rèn)為是虛函數(shù),而不必再加關(guān)鍵字 (4) 。如有任何不同,則認(rèn)為是 (5) 而不是虛函數(shù)。除了非成員函數(shù)不能作為虛函數(shù)外, (6) 、 (7) 和 (8) 也不能作為虛函數(shù)。答案:(1)同虛函數(shù)名(2)同參數(shù)表(3)同返回類型。如基類中返回基類指針,而派生類中返回派生類指針是允許的(4)virtual(5)重載(6)靜態(tài)成員函數(shù)(7)內(nèi)聯(lián)函數(shù)(8)構(gòu)造函數(shù)三、寫
19、出下列各程序運(yùn)行后的輸出結(jié)果(本大題共7小題,每小題4分,共28分) 1#include<iostream.h> class basepublic:int a1; base() base(int n1)a1=1; ; class A:virtual public basepublic:int a2;A(int n1,int n2):base(n1)a2=n2;class B:virtual public basepublic:int a3;B(int n2,int n3):base(100)a3=n3; ; class C:public A,public B public:int
20、a4;C(int n1,int n2,int n3,int n4):A(n1,n2),B(n1,n3),base(8)a4=n4; ;void main() C x(1,2,3,4),*pc=&x;cout<<pc->a4;B *pb=&x;cout<<pb->a3;A *pa=&x;cout<<pa->a2;base *p=&x;cout<<p->a1;輸出結(jié)果為:2#include<iostream.h> #include<string.h>class szxy
21、char *name;int age;szxy *next;public:szxy() szxy(char *n,int x,szxy *p=NULL) name=new charstrlen(n)+1;strcpy(name,n); age=x;next=p; szxy()delete name; void list(szxy *t)for(;t;t=t->next)cout<<t->name<<t->age; ;void main() szxy x2("李",4, NULL);szxy x1("張",3,&a
22、mp;x2);x1.list(&x1); 輸出結(jié)果為:3#include<iostream.h> class base0public:virtual void v()cout<<"大江" ;class base1:public base0public:void v()cout<<"南北" ;class A1:public base1public:void v()cout<<"我" ;class A2:public A1public:void v()cout<<&quo
23、t;愛" ;class B1:public base1public:void v()cout<<"你" ;class B2:public B1public:void v()cout<<"們" ;void main()base0 *p; B1 b1;p=&b1;p->v();B2 b2;p=&b2;p->v();A2 a2;p=&a2;p->v();A1 a1;p=&a1;p->v();輸出結(jié)果為:4#include<iostream.h> class j
24、k24 int *p; int size;public:jk24(int n) size=n;p=new intsize; jk24() delete p; friend ostream&operator<<(ostream&,jk24&); int operator(int i) return pi; void operator=(int m) for(int i=0;i<size; i+)pi=m; ;ostream&operator<<(ostream&os,jk24&T) for(int i=0;i<T
25、.size; i+)os<<T.pi+i; return os; void main() jk24 I(4);I=1;cout<<I; 輸出結(jié)果為:5#include<iostream.h>#include<string.h>class jk25 char *name;public:jk25(char *p)name=new charstrlen(p)+1;strcpy(name,p);cout<<1; jk25()cout<<5; void list()cout<<name; ;class jk26 jk25
26、 z;int age;public:jk26(char *p,int a):z(p)age=a;cout<<2; jk26()cout<<4; void disp()z.list(); ; void main() jk26 w("3",3); w.disp(); 輸出結(jié)果為:6#include<iostream.h>class jsjx double *data; int length; public:jsjx()jsjx(double *p,int n)data=p;length=n;jsjx(jsjx&x)data=x.dat
27、a;length=x.length;jsjx&operator=(jsjx&x)data=x.data;length=x.length;return *this;double sum(jsjx x) double s=0;while(x.length>0)s=s+*x.data;x.data+;x.length-;return s; ;void main() double a10=0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0 ;jsjx z(a,10),z2=z; cout<<z2.sum(z2)<<endl; 輸
28、出結(jié)果為:7#include<iostream.h> class stack int size,*root, *top; public: stack(int n)size=n;top=root=new intsize; stack()delete root;void push(int data)if(top>=root+size)cout<<"no"else *top+=data;cout<<data;void pop()if(top<=root)cout<<"no"else top-;cout
29、<<*top+22<<*top-27; ;void main() stack *p=new stack(10);p->push(12); p->push(34); p->pop(); delete p; 輸出結(jié)果為:8#include<iostream.h>class wg double m;static double sm;static int sn;public:wg(double m0)m=m0;sm=sm+m0;sn+; wg()sm=sm-m;sn-; static void disp() cout<<sm<&l
30、t;sn; ; ; double wg:sm=0;int wg:sn=0;void main()wg x1(5.1),x2(6.2),x3(32.12),x4(3.5),x5(66.6),x6(1.2),x7(3.4),x8(8.8),x9(27.8);x3.wg();x5.wg();wg:disp(); 輸出結(jié)果為:四、編程題(本大題共4小題,每小題8分,共32分)1#include<iostream.h>/注意: 輸出<<、輸入>>運(yùn)算符只能重載為友員函數(shù)class jkpublic:int size;char *p;jk(int s) size=s;p
31、="yes" /在下面寫出輸出運(yùn)算符<<重載函數(shù)的聲明語句 friend ostream& operator<<(ostream&,jk&); ;/在下面編寫出輸出運(yùn)算符<<重載函數(shù)的內(nèi)容ostream&operator<<(ostream&os,jk &x) os<<x.p<<x.size;cout<<"自己編寫的輸出運(yùn)算符<<重載函數(shù)!n" return os; void main() jk x(20);co
32、ut<<x; 2#include<iostream.h>/+號(hào)運(yùn)算符重載函數(shù)可以有成員函數(shù)和友元函數(shù)兩種形式class complexdouble real,imag;public:complex(double a=0.0,double b=0.0) real=a;imag=b;void disp()cout<<'('<<real<<','<<imag<<')'<<endl;/在下面編寫出+號(hào)運(yùn)算符重載友元函數(shù)的內(nèi)容complex operator+(
33、complex &c)double x=this->real+c.real;double y=this->imag+c.imag;return complex(x,y); void main() complex z1(1,1),z2(2,2),z3;z3=z1+z2; z3.disp(); 3創(chuàng)建一個(gè)名為time的類,它包括分別表示小時(shí)、分鐘和秒的int類型的數(shù)據(jù)成員以及兩個(gè)構(gòu)造函數(shù),一個(gè)構(gòu)造函數(shù)將數(shù)據(jù)成員初始化為0,另一個(gè)將數(shù)據(jù)成員初始化為一個(gè)固定的值。另有一成員函數(shù)將時(shí)間以10:10:10的格式顯示在屏幕上,編寫成為一個(gè)完整的程序。class time int x,y,
34、z;public:time()x=y=z=0; time(int a,int b,int c)x=a;y=b;z=c; void disp()cout<<x<<”:”<<y<<”:”<<z; ;4設(shè)計(jì)一個(gè)學(xué)校在冊(cè)人員類(Person)。數(shù)據(jù)成員包括:身份證號(hào)(IdPerson),姓名(Name),性別(Sex),生日(Birthday)和家庭住址(HomeAddress)。成員函數(shù)包括構(gòu)造函數(shù)與拷貝構(gòu)造函數(shù)。還包括人員信息的錄入和顯示。編寫成為一個(gè)完整的程序。#include<iostream.h>#include<
35、string.h>class personchar Idperson20;/身份證號(hào)char Name20;/姓名char Sex; /性別int Birthday;/生日,格式1986年8月18日寫作19860818char HomeAddress50;/家庭地址public:person(char *,char *,char,int,char*);person(person &);person()void inputperson();void printperson(); ;person:person(char *id,char *name,char s,int birthd
36、ay,char *homeadd)strcpy(Idperson,id);strcpy(Name,name);Sex=sex;Birthday=birthday;strcpy(HomeAddress,homeadd); person:person(person &s)strcpy(Idperson,s.Idperson);strcpy(Name,s.Name);Sex=s.Sex;Birthday=s.Birthday;strcpy(HomeAddress,s.HomeAddress); void person:inputperson()cout<<"請(qǐng)輸入身份證
37、號(hào),18位數(shù)字:"<<endl; cin.getline(Idperson,19);cout<<"請(qǐng)輸入姓名:"<<endl;cin.getline(Name,20);cout<<"請(qǐng)輸入性別m或w:"<<endl;cin>>Sex;cout<<"請(qǐng)輸入生日,格式1986年8月18日寫作19860818:"<<endl; cin>>Birthday;cin.get(); /吸收回車符,否則地址輸不進(jìn)去cout<&
38、lt;"請(qǐng)輸入地址:"<<endl;cin.getline(HomeAddress,50);void person:printperson()cout<<Idperson<<endl<<Name<<endl<<Sex<<endl<<Birthday<<endl<<HomeAddress<<endl;void main() person x(,”kkk”,m,19701011,”1234567”); per
39、son y=x; person z;z.inputperson();z.printperson(); 5建立一個(gè)基類CBuilding,用來存儲(chǔ)一座樓房的層數(shù)、房間數(shù)以及它的總平方英尺數(shù)。建立派生類Chousing,繼承CBuilding,并存儲(chǔ)下面的內(nèi)容:臥室和浴室的數(shù)量。另外再建立派生類COfficing,繼承CBuilding,并存儲(chǔ)滅火器和電話的數(shù)目。然后編寫應(yīng)用程序,建立住宅對(duì)象和辦公樓對(duì)象,并輸出它們的有關(guān)數(shù)據(jù),編寫成為一個(gè)完整的程序。#include<iostream.h>#include<string.h>class CBuildingint x1,x2
40、,x3;public:CBuilding(int t1,int t2,int t3)x1=t1;x2=t2;x3=t3;void disp1()cout<<x1<<x2<<x3; ;class Chousing:public CBuildingint y1,y2;public:Chousing(int t1,int t2,int t3,int t4,int t5):CBuilding(t1,t2,t3)y1=t4;y2=t5;void disp2()cout<<y1<<y2; ;class COfficing:public CBuil
41、dingint z1,z2;public:COfficing(int t1,int t2,int t3,int t4,int t5):CBuilding(t1,t2,t3)z1=t4;z2=t5;void disp3()cout<<z1<<z2; ;void main() chousing x(5,100,10000,200,100); x.disp1(); x.disp2();COfficing y(5,100,10000,130,400); y.disp1();y.disp3(); 6某公司雇員(employee)包括技術(shù)人員(technician)和銷售員(sal
42、esman)。以employ類為虛基類派生出technician和salesman類;employee類的屬性包括姓名、職工號(hào)、基本工資,業(yè)績(jī)工資,月薪(實(shí)發(fā)基本工資加業(yè)績(jī)工資)。操作包括月薪計(jì)算函數(shù)(pay()),該函數(shù)要求輸入請(qǐng)假天數(shù),扣去應(yīng)扣工資后,得出實(shí)發(fā)基本工資。technician類派生的屬性有每小時(shí)附加酬金和當(dāng)月工作時(shí)數(shù),及研究完成進(jìn)度系數(shù)。業(yè)績(jī)工資為三者之積。也包括同名的pay()函數(shù),工資總額為基本工資加業(yè)績(jī)工資。salesman類派生的屬性有當(dāng)月銷售額和酬金提取百分比,業(yè)績(jī)工資為兩者之積。也包括同名的pay()函數(shù),工資總額為基本工資加業(yè)績(jī)工資。編寫所有的類。class employeeprotected:char name20;/姓名int ID;/職工號(hào)double basesalary;/基本基本double careersalary;/業(yè)績(jī)工資double salary; /月薪public:employee(char *n,int i=0, double bs=0.0, double cs=0.0, double s=0.0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年軍隊(duì)文職人員招聘之軍隊(duì)文職管理學(xué)與服務(wù)全真模擬考試試卷A卷含答案
- 2025年軍隊(duì)文職人員招聘之軍隊(duì)文職管理學(xué)提升訓(xùn)練試卷B卷附答案
- 新泰數(shù)學(xué)初一試題及答案
- 安全防火知識(shí)培訓(xùn)課件
- 2025年黨史競(jìng)賽知識(shí)題庫(kù)50題及答案
- 監(jiān)理基礎(chǔ)知識(shí)培訓(xùn)課件
- 人工智能醫(yī)療輔助系統(tǒng)應(yīng)用及操作指南
- 唐宋八大家之一王安石介紹與作品欣賞教案
- 公司股份制改革法律文件匯編手冊(cè)
- 保險(xiǎn)理賠處理流程協(xié)議
- 安全文明施工獎(jiǎng)罰明細(xì)表
- 育英學(xué)校與社區(qū)及家長(zhǎng)聯(lián)系制度
- 枯死松樹清理服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 第4課 中古時(shí)期的亞洲(教學(xué)課件)-【中職專用】《世界歷史》同步課堂(同課異構(gòu))(高教版2023?基礎(chǔ)模塊)
- 《監(jiān)理企業(yè)安全責(zé)任清單(2.0版)參考模板》
- 小區(qū)停車收費(fèi)方案
- 《讓我們的家更美好》教學(xué)設(shè)計(jì)
- 提升漁業(yè)與水產(chǎn)養(yǎng)殖技術(shù)的高效養(yǎng)殖模式
- 曲率系數(shù)不均勻系數(shù)自動(dòng)計(jì)算
- 垃圾分揀項(xiàng)目可行性報(bào)告
- 陜09J08 樓梯 欄桿 欄板圖集
評(píng)論
0/150
提交評(píng)論