例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.1 物件導向程式設計 什麼事物件導向程式設計?4.1.1 面向過程 物件導向是在面向過程中發展出來的。物件導向的程式中不可能沒有面向過程的 畢竟,程式仍然是讓計算機執行的。4.1.2 物件導向 物件導向就需要了解... 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 物件導向程式設計... 7章類與物件 7 1類和物件 定義及使用 初步7 2成員函式的過載 7 3物件的初始化 建構函式與析構函式7.4類的定義及其使用7.5類的靜態成員及常量成員7.6友元 7.7類之間的物件關係物件成員和巢狀7.8自定義類中的運算子過載 7.9結構與聯合 已在 4.6結構體型別 一節中簡單地介紹過結構及...第4章類和物件
C類和物件
C 教程第07章類與物件 910結構與聯合拷貝構