第11章 定義乙個抽象型別 向量型別

2021-10-10 15:35:20 字數 695 閱讀 2193

accelerated-cpp學習筆記,參考電力出版社的《accelerated c++》翻譯,這裡是第11章內容。本章的內容主要在於引導實現乙個標準庫型別,為了實現多種資料型別的相容,使用了模板型別,定義了乙個抽象型別。介紹了如何初始化乙個抽象型別、如何管理物件的複製和刪除、如何實現向量類的插入操作和記憶體管理,並定義了向量的索引操作。

為了加深印象,仿寫標準庫中的vector類,設計乙個vec類,實現向量的功能。設計乙個類的時候,首先要確定在類中要實現什麼介面,以正確引導具體類的實現,以向量類為例

vectorvs;	// 乙個空的vector

vectorv(100); // 乙個有100個元素的vector

vector::const_iterator b, e;

vector::size_type i = 0;

vs.size(); // size成員函式

vs[i].name; // 索引功能

vs.begin(), vs.end(); // 迭代器

這裡使用模板類進行實現,使得vec類可以儲存不同型別的資料,模板類的定義可以用公共部分定義介面,私有部分實現類。接著,考慮vector的資料結構是動態建立的陣列,這裡也會用動態陣列實現。接著,因為要實現begin

設定乙個抽象類!

我的android專案所有的介面都是 橫屏的,我是用以下 進行控制橫屏顯示的 requestwindowfeature window.feature no title getwindow setflags windowmanager.layoutparams.flag fullscreen,wind...

按要求寫乙個抽象類

定義乙個抽象的 role 有姓名,年齡,性別等成員變數 1 要求盡可能隱藏所有変量 能夠私有就私有,能夠保護就不要公有 再通過getter 和setter 方法対各變數進行讀寫。具有乙個抽象的play 方法 該方法不返回任何值,同時至少定義兩個構造方法。role類中要體現出this的幾種用法。2 從...

乙個說明抽象類的好例子

using system namespace c project 父類不帶引數的建構函式 public vehicle int w,float g 父類帶引數的建構函式 public abstract void abstractfunction 抽象方法 public static void sta...