河北工業大學物件導向程序設計實驗二類與物件

2023-02-07 01:18:06 字數 2730 閱讀 7547

實驗二類與物件

一、實驗目的

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="物件導向程式設計技術試卷A 安徽工業大學

裝訂線課程班級姓名學號 密封線安徽工業大學試題紙 一 題號得分一二 三四五六 七 十 十一十二 十三十四 十五十六 十七十八 十九二十 總分2007 2008學年第一學期期末考試 物件導向的程式設計技術 試卷 a 注意 所有答案請寫在答題紙上 一 單項選擇題 120 20分 1 為了提高程式的執行速...

河北工業大學陡河電廠實習報告

大唐國際陡河發電廠實習報告 河北工業大學高舉 工學並舉 偉大旗幟歷經百餘年一路走來,如今終於把口號付諸於實踐。經過熱能專業三年的學習,專業課程已將要結束,在理論知識積累快要完畢時為了加深我們對所學專業的認識,提高專業素養,培養專業熱情,為以後的就業學習做準備,學院特意精心為我們安排了到唐山陡河電廠進...

附1 塗卡要求河北工業大學

附1 塗卡要求。影象資訊採集卡填塗說明 1 所在院校名稱及院校 本一 河北工業大學10080 本三 河北工業大學城市學院 13584。1 院 系 從左向右,只填頭兩個空格 2 姓名及區位碼 從左向右依次填寫,中間不得空格,如出現編碼本內查詢不到的漢字,請將區位碼內的四個數字一律填塗 0 並請在漢字旁...