實驗二類與物件
一、實驗目的
1、學習類與物件的定義,掌握類與物件的使用方法。
2、學習資料成員與成員函式的訪問方式,理解建構函式和析構函式的定義與執行過程,學會建構函式的過載方法。
3、掌握陣列與指標的定義與使用方法,理解陣列與指標的儲存分配與表示。
4、掌握用指標和引用向函式傳遞引數。
5、掌握靜態資料成員和靜態成員函式的使用。
6、理解友元與友元函式的作用與使用方法。
二、實驗內容
1、下面是乙個計算器類的定義,請完成該類成員函式的實現。
#include<>
class counter
;counter::counter(int number)
void counter::increment()
void counter::decrement()
int counter::getvalue()
int counter::print()
void main()
2、根據注釋語句的提示,實現類date的成員函式。
#include<>
class date
;void date::setday(int d)
void date::setmonth(int m)
void date::setyear(int y)
void date::printdate()
int main()
3、建立類cylinder,cylinder的建構函式被傳遞了兩個double值,分別表示圓柱體的半徑和高度。用類cylinder計算圓柱體的體積,並儲存在乙個double變數中。在類cylinder中包含乙個成員函式vol(),用來顯示每個cylinder物件的體積。
#include<>
class cylinder
void area()
void vol()
private:
double area,r,hight;
};void main()
4、構建乙個類book,其中含有兩個私有資料成員qu和price,建立乙個有5個元素的陣列物件,將qu初始化為1~5,將price初始化為qu的10倍。顯示每個物件的qu*price值。
#include<>
class book
int get()
};void main()
; int i;
for(i=0;i<5;i++)
;}5、修改上題,通過物件指標訪問物件陣列,使程式以相反的順序顯示物件陣列的qu*price值。
#include<>
class book
int get()
};void main()
; book *p;
p=ob;
int i;
for(i=4;i>=0;i--)
;}6、構建乙個類stock,含字元陣列stockcode及整型資料成員quan、雙精度型資料成員price。建構函式含3個引數:字元陣列na及q、p。
當定義stock的類物件時,將物件的第乙個字串引數賦給資料成員stockcode,第2個和第3個引數分別賦給quan和price。未設定第2個和第3個引數時,quan的值為1000,price的值為8.98。
成員函式print()使用this指標,顯示物件內容。
#include<>
#include<>
class stock
void print()
private:
char stockcode [10];
int quan;
double price;
};void main()
7、參考課本例子,建立乙個源程式檔案,在此檔案中建立乙個新的類,將新建的類命名為rect。
【要求】
(1)向rect類中新增資料成員及成員函式,並完善成員函式的功能。如設計乙個area_int()函式,計算邊長為整型的長方形的面積;設計乙個area_double()函式,計算邊長為double型的長方形的面積。
(2)過載建構函式。一種建構函式用整型變數記錄長方形的長和寬,另一種建構函式用double型記錄。
(3)體現物件的構造和析構過程。例如,在建構函式中用cout<<」i am the constructor!」<(4)在main()函式中定義兩個rect類的物件,乙個物件用例項實現(就像定義普通的變數一樣),另乙個物件用指標實現(利用關鍵字new,給指標分配記憶體空間)。
並用不同的引數,以呼叫不同的建構函式體現建構函式的過載。
#include<>
class rect
;rect:: ~rect()
rect::rect(int length,int width)
int rect:: area_int()
rect::rect(double length,double width)
double rect::area_double()
void main()
{ int a=2,b=3;
double c=4,d=5;
rect r1(a,b);
rect r2(c,d);
cout<<"r1="<<< cout<<"r2="<<< rect *p=new rect(a,b),*q=new rect(c,d);
cout<<"r3=" 裝訂線課程班級姓名學號 密封線安徽工業大學試題紙 一 題號得分一二 三四五六 七 十 十一十二 十三十四 十五十六 十七十八 十九二十 總分2007 2008學年第一學期期末考試 物件導向的程式設計技術 試卷 a 注意 所有答案請寫在答題紙上 一 單項選擇題 120 20分 1 為了提高程式的執行速... 大唐國際陡河發電廠實習報告 河北工業大學高舉 工學並舉 偉大旗幟歷經百餘年一路走來,如今終於把口號付諸於實踐。經過熱能專業三年的學習,專業課程已將要結束,在理論知識積累快要完畢時為了加深我們對所學專業的認識,提高專業素養,培養專業熱情,為以後的就業學習做準備,學院特意精心為我們安排了到唐山陡河電廠進... 附1 塗卡要求。影象資訊採集卡填塗說明 1 所在院校名稱及院校 本一 河北工業大學10080 本三 河北工業大學城市學院 13584。1 院 系 從左向右,只填頭兩個空格 2 姓名及區位碼 從左向右依次填寫,中間不得空格,如出現編碼本內查詢不到的漢字,請將區位碼內的四個數字一律填塗 0 並請在漢字旁...物件導向程式設計技術試卷A 安徽工業大學
河北工業大學陡河電廠實習報告
附1 塗卡要求河北工業大學