diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/template5.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.brendan/template5.C | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template5.C b/gcc/testsuite/g++.old-deja/g++.brendan/template5.C new file mode 100644 index 000000000..1b68043a3 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.brendan/template5.C @@ -0,0 +1,48 @@ +// { dg-do assemble } +// GROUPS passed templates +template<class T> +class Vector +{ +public: + Vector(int x); + ~Vector(); + T& operator [] (int i); + +private: + T* v; + int sz; +} ; + +template<class T> +Vector<T>::Vector(int x) +{ + sz = x; + v = new T (sz); +} + +template<class T> +Vector<T>::~Vector() + { delete [] v; } + +template<class T> +T & +Vector<T>::operator [] (int i) + { return v[i]; } + +int +main(int, char **) +{ + Vector<int> intvec(3); + + intvec[0] = 1; + intvec[1] = 2; + intvec[2] = 3; + + for (int i = 0; i < 3; i++) + intvec[i]; + + return 0; +} + + + |