C 通過類模板實現通用型別的陣列函式

2021-10-05 07:33:25 字數 1343 閱讀 2224

通用型別的模板陣列定義如下

template< class t>

class myarray

myarray(const myarray & array) }

~myarray() }

//賦值操作符過載

myarray& operator=(myarray & array)

this->m_capacity = array.m_capacity;

this->m_size = array.m_size;

this->paddress = new t[this->m_capacity];

for (int i = 0; i < m_size; i++)

}//過載

//myarray arr(10);

//arr[0] = 100;

t & operator( int index)

//尾插法

void push_back( t val)

//獲取大小

int getsize()

//獲取容量

int getcapacity()

private:

t * paddress; //指向堆區指標

int m_capacity; //容量

int m_size;

};

測試

//輸出int型別陣列

void printintarray( myarray& array)

}class person

; person(string name, int age)

string m_name;

int m_age;

};//輸出person型別陣列

void printpersonarray( myarray& array )

}int main()

printintarray(arr);

person p1("mt", 10);

person p2("呆賊", 12);

person p3("傻饅", 14);

person p4("劣人", 15);

myarrayarr2(10);

arr2.push_back(p1);

arr2.push_back(p2);

arr2.push_back(p3);

arr2.push_back(p4);

printpersonarray(arr2);

system("pause");

return exit_success;

}

C 模板實現智慧型陣列類

這個類的使用非常有限,不能說是真正的智慧型陣列 對於一般的資料型別還可以,比如int float char等 但是,string類這樣的類型別好像不是很好 但是一些基礎的東西卻是學習的重點 標頭檔案myarray.h pragma once include using namespace std t...

C 類模板實現順序棧

棧的抽象類的定義 template class stack 順序棧類的定義 include stack.h template class seqstack public stack 順序棧類的實現 include using namespace std template seqstack seqst...

順序表 C 類模板實現

include using namespace std define ok 1 define error 0 template class linklist int initlinklist linklist t l,int maxlistsize 100 初始化大小為100 int getleng...