類模板案例 C

2021-10-05 13:59:40 字數 1369 閱讀 9004

本案例要求:可以對自定義或內建資料型別進行操作、陣列中的資料儲存到堆區、按客戶要求的容量進行陣列的建立、防止淺拷貝以及過載=、利用尾插法和尾刪法進行增加和刪除、可以通過下標訪問陣列元素,可以獲取當前陣列中的容量及元素個數資訊。

由於類模板的成員函式再呼叫的時候才建立,不好分檔案編寫,所以新建標頭檔案用.hpp作為字尾。由於比較簡單,下面直接上**。

//類模板案例.hpp

#pragma once

//編譯一次

#include

using

namespace std;

template

<

class

t>

class

myarray

myarray

(const myarray& ary)

//拷貝構造}

myarray&

operator=(

const myarray & ary)

//返回值為引用型別

this

->size = ary.size;

this

->capecity = ary.capecity;

this

->address =

new t[ary.capecity]

;//重新再堆區開闢資料

for(

int a =

0; a < ary.size; a++

)//依次賦值

return

*this;}

//尾插法

void

push_back

(const t & temp)

this

->address[

this

->size++

]= temp;

}//尾刪法

void

pop_back()

this

->size--;}

//按下標訪問容器元素

t &operator

(int index)

//返回值為引用型別

//返回容量

intget_capecity()

//返回大小

intget_size()

~myarray()

//析構函式

this

->size =0;

this

->capecity =0;

}private

://屬性

int size;

int capecity;

t * address;

};

類模板案例

實現乙個通用的陣列類,要求如下 myarray.hpp中 pragma once include using namespace std templateclass myarray 拷貝構造 myarray const myarray arr 過載 操作符 防止淺拷貝問題 myarray opera...

陣列類封裝案例C 模板

陣列類封裝案例 實現乙個通用的陣列類,要求如下 可以對內建資料型別以及自定義型別的資料進行儲存 將陣列中的資料儲存到堆區 建構函式中可以傳入陣列的容量 提供對應的拷貝建構函式以及operater 防止淺拷貝問題 提供尾插法和尾刪法對陣列中的資料進行增加和刪除 可以通過下標的方式訪問陣列中的元素 可以...

案例 陣列模板類

傳智掃地僧課程學習筆記。這裡的學習,是為了學習後面的資料結構,因為後面的資料結構的演算法的實現,是以模板的方式實現的,myvector.h include iostream using namespace std template class myvector protected t m space...