第十九章 8鍊錶類Node

2021-09-06 06:17:48 字數 1089 閱讀 2728

// 8 鍊錶類node

//為了這個資料類date以後,接下來還需要乙個鍊錶類node,該類擁有乙個插入函式insert和乙個輸出函式print,由於插入新節點和輸出節點的資料這兩個或能是所有鍊錶類必備的,所以將它們宣告為虛函式,以提醒它的子類必須實現這兩個虛函式的功能

/*#include using namespace std;

//定認列舉形常量

enum;

class date

~date(){}

int compare(const date&);

private:

int date;

};int date::compare(const date& two)

else

}//鍊錶類

class node

virtual ~node(){}

virtual node* insert(date *one) = 0;

//只有擁有乙個線純虛函式的類就是抽像類,所以說node類是乙個抽像類

virtual void print() = 0;

private:

};//該類是個抽像類,它的所有成員都是公有的,可以被其他類訪問,因此訪我的可看作是乙個介面,訪我的有兩個純虛函式insert()的print(),這兩個函式必須在子類中實現功能後才能使用

//目前這個node類什麼也作用也沒有,僅僅為它的子類提供了兩個未定義好的函式,它要求子類再去定義這些函式

//打個比方,有個抽像類是人類,它有乙個方法是上課

//兩個類從這個抽像類中派生而出,乙個是老師類,乙個學生類

//在這種情況下人類就沒有必要胚體化上課的細節了,因為老師和學生的上課方式是各自不同的

//人類的作用只是告訴只要是人類就能夠上課,假如是動物,當然就不能上課了,符合人類的條件需要幾個功能,上課只是其中之一

//我們這裡定義鍊錶類node也是這個目前的,只要是鍊錶就擁有插入新節點的輸出節點的資料這兩個功能,這兩個功能是必須實現的,所以node類宣告了這兩個功能,功能由它子類去實現,能夠實現的方才是鍊錶,不能實現的就不是鍊錶

int main()

*/

第十九章 事務

redis的事務是指將多個命令請求打包,一次性地,按順序執行的機制。通過multi exec watch等命令實現事務功能。19.1.1 事務的開始 multi命令的執行代表了乙個事務的開始,會將執行該命令的客戶端由非事務狀態切換成事務狀態 在客戶端狀態的flags屬性中開啟redis multi標...

第十九章 19 1 1節練習

練習19.1 使用malloc編寫你自己的operator new size t 函式,使用free編寫operator delete void 函式。解答 這個也就參考書中實現吧。不過這裡我更傾向於使用模板來實現,不把new的引數寫死。練習19.2 預設情況下,allocator類使用operat...

第十九章 19 2 1節練習

練習19.3 已知存在如下的類繼承體系,其中每個類分別定義了乙個公有的預設建構函式和乙個虛析構函式 class a class b public a class c public b class d public b,public a 下面的哪個dynamic cast將失敗?a a pa new ...