std; < T, N> mysequence { T memblock [N]; : setmember ( x, T value); T getmember ( x); }; < T, N> mysequence<T,N>::setmember ( x, T value) { memblock[x]=value; } < T, N> T mysequence<T,N>::getmember ( x) { memblock[x]; } main () { mysequence <,5> myints; mysequence <,5> myfloats; myints.setmember (0,100); myfloats.setmember (3,3.1416); cout << myints.getmember(0) << ; cout << myfloats.getmember(3) << ; 0; }
It is also possible to set default values or types for class template parameters. For example, if the previous class template definition had been:
< T=, N=10> mysequence {..}; |
We could create objects using the default template parameters by declaring:
mysequence<> myseq; |
Which would be equivalent to:
mysequence<,10> myseq; |