陣列類模板

2021-10-24 15:13:33 字數 1396 閱讀 9425

//通過例子,了解如何封裝動態陣列類,注意看注釋!!!

array.h

#ifndef array_h

#define array_h

#include template class array //在陣列中希望容納任何型別元素的陣列

;//建構函式,格式:template網域名稱:: 函式名(形參)

templatearray::array(int sz)

//析構函式,釋放內空間

templatearray::~array()

//深層複製構造邏輯

templatearray::array(const array&a) //深層複製構造邏輯

}//過載「=」,注意函式的格式!!把&(資料型別)寫前面,再網域名稱::函式名(形參)

templatearray&array::operator=(const array&rhs)

}for (int i = 0; i < size; i++)//從物件rhs複製陣列元素到本物件

return *this; //返回當前物件的引用

}//過載下標運算子。動態陣列類的物件的物件名,就可以當基本的陣列名一樣用了,可以用下標運算了,對於使用者來說是很方便的

templatet &array::operator(int i) //注意格式!

templateconst t &array::operator(int i) const

//過載指標轉換運算子:目的是將物件名轉化為t型別的指標

templatearray::operator t *()

//取陣列大小

templateint array::getsize() const

//修改陣列大小

templatevoid array::resize(int sz)

delete list;

list = newlist;

size = sz;

}#endif

arrayclass_mode.cpp

#include #include "array.h"

#include using namespace std;

int main()

}if(isprime)

}for (int i = 0; i < count; i++)

cout << setw(8) << a[i];

cout << endl;

return 0;

}

輸出結果:

這個例子是將陣列進行封裝成物件,可以隨意儲存陣列大小。

陣列類模板

問題及描述 檔名稱 test.cpp 作者 邱凱 完成日期 2016年5月31號 版本號 v6.0 問題描述 陣列類模板 輸入描述 輸入資料 輸出描述 輸出答案 include include include using namespace std template class array temp...

陣列類模板

檔名稱 3.cpp 完成日期 2016年 6 月 15日 版本號 v1.0 專案 陣列類模板 在陣列類的基礎上,將之改造為類模板,以使陣列中可以儲存各種型別的資料。template 陣列類模板定義 class array include includeusing namespace std temp...

陣列類模板

template int n void func 變數不能作為模板引數 浮點數不能作為模板引數 類物件不能作為模板引數 本質 模板引數是在編譯階段被處理的單元,因此,在編譯階段必須準確無誤的唯一確認。include include using namespace std template class...