類的操作
1 類物件使用指標的三種情況:
一、使用指標成員訪問運算子-> ,來呼叫函式
二、作為函式的引數
三、作為類的資料成員'
2 指標作為資料成員
示例**如下:
package類 包含兩個資料成員乙個是box類,乙個是指向package的指標
class package
//get 方法
box getbox() const
package* getnext()
//成員變數
private:
box thebox;
package* pnext;
}修忙後的package類為
class package
//get 方法
box getbox() const
package* getnext()
//成員變數
private:
box thebox;
package* pnext;
}定義truckload類 用來表示一組package物件
class truckload
truckload 的實現 (建立乙個空列表)
truckload:turckload(box * pbox,int count)else
}/*取首節點位址*/
box * truckload::getfirstbox()
/*取下乙個節點*/
box * truckload::getnextbox()else
return pcurrent?pcurrent->getnext:0;
}使用列表(見程式prog13.01)
3 控制對類的訪問(限制類的可訪問性)
巢狀類
用public 訪問指定修飾的巢狀類
友元類 friend class truckload;
示例**如下
#ifndef list_h
#define list_h
#include "box.h"
/*********************************
* list.h包含個存放列表的類 *
* 注:package要放在truckload前 *
*********************************/
/*列表節點物件*/
class package;
/*列表*/
class truckload;
#endif
4 副本建構函式的重要性 (用於建立軍與已有對像完全相同的物件)
實現副本建構函式 示例**如下:
truckload::truckload(truckload load)
引用引數
truckload::truckload(const truckload &load)
**實現如下:
truckload::truckload(const truckload &load)
package * ptemp= load.phead;
dowhile(ptemp=ptemp->pnext);
}5 物件內部的動態記憶體分配
析構函式 可以釋放記憶體的類成員
定義析構函式 示例**如下: (注:沒出有返回型別或是引數)
truckload::~truckload()
預設的析構函式: 如果沒有顯示的定義析構函式,編譯器會生成乙個
公共或內聯析構函式
示例**如下:
在.h標頭檔案中
class box
在.cpp實現檔案
box::box()
delete phead;
}6 類的引用
引用用作類的成員 示例**如下:
class package
在list.cpp中,建構函式的定義
truckload::package::package(box & rnewbox):rbox
(rnewbox),pnext(0){}
C 學習筆記十二
標頭檔案 utility 建立 pair p1 pair p2 v1,v2 pair p3 p2 p1 make pair v3,v4 操作 賦值 p3 p1 訪問元素 p1.first p1.second 使用tie獲取 std tie v1,v2 p1 static變數只會被初始化一次 因此,靜...
C 學習筆記(十二) 事件高階
多用途的事件處理程式 timer.elapsed 事件的簽名包含了時間處理程式常見的兩個引數 1 object source 引發事件的物件的引用2 elapsedeventargs e 由事件傳送的引數 在這個事件中使用object型別引數的原因是,我們常常要為由不同物件引發的幾個相同事件使用同一...
C 學習筆記(十二)結構體
結構體 struct 是很好的,之所以有結構體,才使得乙個單一變數可以儲存各種資料型別的相關資料。struct booksc 中的結構體挺特殊的,在struct的定義裡面還可以新增方法和屬性等 struct books public void display title console.writel...