C第10章類和物件例子

2021-03-04 02:42:24 字數 2588 閱讀 9983

例10.4 定義並測試長方形類crect,長方形是由左上角座標(left, top)和右下角座標(right, bottom)組成。

#include

#include

class crect //定義長方形類

void print(void)

};void crect::setcoord(int l, int t, int r, int b)

void main(void)

執行結果:

left=100 top=300

right=50 bottom=200

area = 5000

area = 5000

返回***講稿

例10.5 定義日期類,利用建構函式初始化資料成員。程式放在標頭檔案date.h中,如下:

#include

class date

date(int y) //過載建構函式 2

date(int y, int m) //過載建構函式 3

date(int y, int m, int d) //過載建構函式 4

void showdate( )

};主函式原始檔為li1005.cpp,內容如下:

#include "date.h"

void main( )

執行結果是:

2003.1.1

2008.1.1

2008.10.1

2008.10.6

當然我們可以定義帶預設值的建構函式,將上述建構函式簡化,下述程式的功能與上述程式相當:

#include

class date

void showdate( )

};void main( )

執行結果與上例一樣。

返回***講稿

例10.6 定義學生類,利用建構函式初始化資料成員,利用析構函式做清理工作。

#include

#include

class student

else

strcpy(num, "");

if(namep) //在建構函式中,

需動態申請name成員的空間

name=new char[strlen(namep)+1];

strcpy(name, namep);

}else name=0;

score=score;

cout<<"constructor called!\n";

}~student( ) //在析構函式中,

需釋放name成員的空間

if(name) delete [ ] name;

cout<<"desturctor called!\n";

}void show( )

};void main( )

此程式執行結果是:

constructor called! //呼叫建構函式時的輸出

040120518

ge***e

80desturctor called! //呼叫析構函式時的輸出

返回***講稿

例10.7 呼叫建構函式和析構函式的時機

#include

class date

void showdate( )

~date( )

};date d4(2008, 4, 4); //全域性物件(靜態的)

void fun( )

void main( )

此程式執行結果是:

constructor: 2008.4.4 //呼叫建構函式,產生d4物件

進入 main( )函式!

constructor: 2008.1.1 // 呼叫建構函式,產生d1物件

進入 fun( )函式!

// 第1次進入fun( )函式,產生下述 d2, d3物件

constructor: 2008.2.2

constructor: 2008.3.3

退出 fun( )函式!

// 退出fun( )函式,撤消d3物件,不撤消d2物件

destructor: 2008.3.3

進入 fun( )函式!

// 第2次進入fun( )函式,再次產生d3物件

constructor: 2008.3.3

退出 fun( )函式!

destructor: 2008.3.3 // 退出fun( )函式,撤消d3物件

退出 main( )函式!

// 退出main ( )函式,撤消d1, d2, d4物件

destructor: 2008.1.1

destructor: 2008.2.2

destructor: 2008.4.4

返回***講稿

例10.9 定義乙個「平面座標點」類,測試拷貝建構函式的呼叫。

//標頭檔案 "point.h"

class point

point(point &p); //拷貝建構函式原型說明

~point析構函式

void show( )

{cout<<"point: "<

第4章類和物件

本章要點 物件導向程式設計的概念 類的描述 類的成員變數和方法 抽象類類的訪問控制 4.1 物件導向程式設計 什麼事物件導向程式設計?4.1.1 面向過程 物件導向是在面向過程中發展出來的。物件導向的程式中不可能沒有面向過程的 畢竟,程式仍然是讓計算機執行的。4.1.2 物件導向 物件導向就需要了解...

C類和物件

1.物件導向設計簡介 1 2.物件的初始化與清除 物件賦值 6 2.1.建構函式 6 2.2.初始化成員列表 引數初始化表 9 2.3.析構函式 10 3.物件與常量 10 4.靜態成員 11 5.友員 12 5.1.友員函式 12 5.2.友員成員函式 13 5.3.友員類 13 物件導向程式設計...

C 教程第07章類與物件 910結構與聯合拷貝構

7章類與物件 7 1類和物件 定義及使用 初步7 2成員函式的過載 7 3物件的初始化 建構函式與析構函式7.4類的定義及其使用7.5類的靜態成員及常量成員7.6友元 7.7類之間的物件關係物件成員和巢狀7.8自定義類中的運算子過載 7.9結構與聯合 已在 4.6結構體型別 一節中簡單地介紹過結構及...