c ,類的資料成員有陣列,且動態調整陣列大小

2021-09-11 17:54:12 字數 642 閱讀 9784

當想要乙個自定義類的資料成員有陣列時,不是用 ,比如 int a[50]; 這樣只能指定大小

而是在資料成員中 用t *heap (指向陣列首元素) int capacity (表示陣列的容量)

然後再構造類的時候,用乙個heap = new t[_cap] 

同時別忘了 析構的時候 delete heap

然後resize呢, 當插入的時候 檢查size == capacity 就表示陣列滿了 (因為陣列最大容量下標capacity-1,最大實際下標size-1)

這時候 new 乙個 2*capacity的陣列,同時別忘了delete之前的heap

當刪除的時候,檢查 size == capacity/4 ,這時候new 乙個capacity/2 的,同時也別忘了 delete 之前的heap

templateclass minpq ;

templateminpq::minpq(int _cap)

:capacity(_cap), size(0)

templatevoid minpq::resize(int max)

templateint minpq::getcapacity()

templateminpq::~minpq()

類的私有資料成員的訪問

類的私有資料成員智慧型在類體哪被訪問,不能夠在類體外通過物件名直接訪問,考察下面的類 class point1 point1 point1 point1 point1 void point1 setpoint int x,int y,int z void point1 display 執行結果 12...

對類裡成員函式返回私有資料成員的操作

對類裡面的私有指標,自己犯這樣的錯誤 1 對返回指標直接賦值 god.return pointer change n 當然這樣編譯器會報錯。2 妄想通過別的指標賦值 char p god.return pointer p change n 這樣私有成員指標當然沒有被改變到。確做法應該是增加乙個 vo...

C 私有資料成員提取到類外的方法總結

今天接觸到了c 的引用使用方法,c 中的資料成員 也可以成長為物件的屬性,當然成員函式就叫做對屬性施加的行為 分為public,protected和private三種咯。private資料成員是不能被類外的函式進行操作的 友元除外 今把我做學到和接觸的類的私有資料成員提取的類外的方法進行總結,由於水...