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