#include <iostream>using namespace std;template<typename t>class seqlist{public : Seqlist (): _data (NULL), _size (0), _capacity (0) {checkcapacity (); ~seqlist () {if (_data != null) {delete[] _data;}} Seqlist (const seqlist<t>& s) {_data = new t[s._size * sizeof (T)]; int i = 0;for (i = 0; i < s._size; i++) {_data[i] = s._data[i];} _size = s._size;_capacity = s._size;} Void pushback (const t& d); Void popback (); Void pushfront (const T& d) ; Void popfont (); Void print () {int i = 0;for (i = 0; i < _size; i++) {cout << _data[i] << "";} Cout << endl;} Public:void checkcapacity () {if (_size == _capacity) {t* tmp = new t[2 * _capacity + 3];/*memcpy (tmp,_data, _size*sizeof (T));*/int i= 0;for (i = 0; i < _size; i++) {tmp[i] = _data[i];} Delete[] _data;_data = tmp;_capacity = 2 * _capacity + 3;}} private:t* _data;int _size;int _capacity;}; Template<typename t>void seqlist<t>::P ushback (const t& d) {CheckCapacity (); _data[_size] = d;_size++;} Template<typename t>void seqlist<t>::P opback () {}template<typename t>void seqlist<t>::P Ushfront (const t& d) {}template<typename t>void seqlist <t>::P Opfont () {}int main () {seqlist<int> s1;s1. Pushback (1111111); S1. Pushback (2222222); S1. Pushback (3333333); S1. Pushback (4444444); S1. Print ();//cout << sizeof (String) << endl;getchar (); return 0;}
This article is from the "Homeopathy" blog, please be sure to keep this source http://lk123456.blog.51cto.com/10831443/1754104
Template Implementation Order table