通用型別的模板陣列定義如下
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...