C++类模板递归问题
自己编写了个小类模板:
#ifndef _DARRAY_#define _DARRAY_template <typename T>class DArray{private: int array_size; T* elems;public: DArray (int size = 10); //contructor DArray (const DArray& da); //copy contructor ~DArray(){delete[] elems;} //destructor int size() const{return array_size;} const T& operator [](int i) const; //prepare for const object T& operator [](int i); //get & set certain element DArray& operator =(const DArray& da); //assignment operator};template <typename T>DArray<T>::DArray(int size = 10): array_size(size){ elems = new T[size];}template <typename T>DArray<T>::DArray(const DArray& da){ array_size = da.array_size; elems = new T[array_size]; for(int i = 0; i< array_size; i++) elems[i] = da.elems[i];}template <typename T>const T& DArray<T>::operator [](int i) const{ return elems[i];}template <typename T>T& DArray<T>::operator [](int i){ return elems[i];}template <typename T>DArray<T>& DArray<T>::operator =(const DArray& da){ if(this == &da) return *this; delete[] elems; array_size = da.array_size; elems = new T[array_size]; for(int i = 0; i< array_size; i++) elems[i] = da.elems[i]; return *this;}#endif#include <iostream>#include "DArray.h"using namespace std;int main(){ DArray<DArray<int> > dd(5); //这里如何声明才能构造5*5二维数组? for(int i = 0; i< dd.size(); i++) // line 10 dd[i] = DArray<int> (5);}