c 學習筆記十二

2021-09-01 10:52:05 字數 2029 閱讀 3227

類的操作

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...