桂 林 理 工 大 學
實 驗 報 告
實驗名稱 類與物件 日期 2023年 04 月17 日
一、實驗目的:
1. 掌握類的定義和使用。
2. 掌握類的物件的宣告。
3. 複習具有不同訪問屬性的成員的訪問方式。
4. 觀察建構函式和析構函式的執行過程。
5. 使用vc++的debug除錯功能觀察程式流程,跟蹤觀察類的建構函式、析構函式、成員函式的執行順序。
二、實驗環境:
visual c++
三、實驗內容:
(寫出主要的內容)
定義乙個cpu類,包含等級(rank)、頻率(frequency)、電壓(voltage)等屬性,有兩個公有成員函式run(提示資訊「cpu開始執行」)、stop(提示資訊「cpu停止執行」)。其中,為列舉型別cpu_rank,定義為enum cpu_rank,frequency為單位是mhz的整型數,voltage為浮點型的電壓值。在main函式中定義該類的乙個物件,並呼叫其公有成員函式,觀察建構函式和析構函式的呼叫順序。試試能不能在主函式中列印該物件的屬性值,並分析原因。
#include
using
namespace std;
enum cpu_rank
;class
cpu;
cpu::cpu (cpu_rank r,
int f,
float v)
cpu::
~cpu (
)void cpu::
run(
)void cpu::
stop()
void
main()
輸出結果:構造了乙個cpu!
cpu開始執行!
cpu停止執行!
析構了乙個cpu!
2.在上述cpu類中新增成員函式,分別用於設定及獲取各屬性的值,並在main函式中呼叫這些函式。觀察當這些函式被設定成private或public時會有什麼不同。
3.定義乙個簡單的computer類,有資料成員晶元(cpu)、記憶體(ram)、光碟機(cdrom)等,有兩個公有成員函式run、stop。cpu為cpu類的乙個物件,ram為ram類的乙個物件,cdrom為cdrom類的乙個物件。cpu類的定義見實驗任務1,ram、cdrom類可以自由設定一些屬性,並提供類似的run、stop這兩個成員函式。在main函式中測試這個類,分析成員函式的執行順序。
#include
enum cpu_rank
;class
cpu;
cpu::cpu (cpu_rank r,
int f,
float v)
cpu::
cpu(
)cpu::
~cpu (
)void cpu::
run(
)void cpu::
stop()
class
ram;
ram::ram (
)ram::
~ram (
)void ram::
run(
)void ram::
stop()
class
cdrom
;cdrom::cdrom (
) cdrom::
~cdrom (
)void cdrom::
run(
)void cdrom::
stop()
class
computer
;computer::
computer()
computer::
~computer (
)void computer::
run(
)void computer::
stop()
void
main()
輸出結果:構造了乙個cpu!
構造了乙個ram!
構造了乙個cdrom!
構造了乙個computer!
computer開始執行!
cpu開始執行!
ram開始執行!
ram停止執行!
cpu停止執行!
computer停止執行!
析構了乙個computer!
析構了乙個cdrom!
析構了乙個ram!
析構了乙個cpu!
4.定義乙個point類,屬性為座標x、y的值,包含有如下成員函式:建構函式、析構函式、拷貝建構函式、設定與獲取x和y的值的函式,並測試之。
#include
class
point
;point::
point
(int x,
int y)
point::
point
(point &p)
int point::
getx()
int point::
gety()
void
main()
輸出結果:拷貝建構函式被呼叫!33
四、心得體會:
1、通過學習類與物件,基本了解掌握了物件導向的基本操作。
2、熟悉了資料成員與成員函式的不同。
3、不同類之間的不能直接使用成員函式。
C 類與物件 實驗四(二)
實現畫圖類 實現分數類 1 include 2 include3 include fraction.h 4 using namespace std 56 帶引數的建構函式的實現 7 fraction fraction int t,int b top t bottom b 9 fraction fra...
C 物件導向實驗二 類與物件
類的建立和使用類來建立物件。類的資料成員的宣告。成員函式的宣告和定義。private,public訪問限定符的使用。使用提供的公有的成員函式給物件成員賦值。類 包含私有的資料成員 length,wide 和公有的成員函式 過載的建構函式oneclass,求和函式add,輸出顯示函式 display ...
類與物件 實驗二
實驗目的 1 掌握類的建構函式和析構函式的概念和使用方法 2 掌握物件陣列 物件指標的定義和使用方法 3 掌握new和delete的使用方法 實驗內容 1 設計描述平面座標上的點cpoint類,該類滿足下述要求 具有x,y座標資訊 具有帶預設形參值的建構函式,引數分別用於初始化x和y座標資訊 具有獲...