Für Vorlesungen, bitte die Webseite verwenden. https://flavigny.de/lecture
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

82 строки
1.3KB

  1. // Destruktor
  2. template <class T>
  3. SimpleArray<T>::~SimpleArray () {
  4. delete[] p;
  5. }
  6. // Konstruktor
  7. template <class T>
  8. SimpleArray<T>::SimpleArray (int s, T v)
  9. {
  10. n = s;
  11. p = new T[n];
  12. for (int i=0; i<n; i=i+1) p[i]=v;
  13. }
  14. // Copy-Konstruktor
  15. template <class T>
  16. SimpleArray<T>::SimpleArray (const
  17. SimpleArray<T>& a) {
  18. n = a.n;
  19. p = new T[n];
  20. for (int i=0; i<n; i=i+1)
  21. p[i]=a.p[i];
  22. }
  23. // Zuweisungsoperator
  24. template <class T>
  25. SimpleArray<T>& SimpleArray<T>::operator=
  26. (const SimpleArray<T>& a)
  27. {
  28. if (&a!=this) {
  29. if (n!=a.n) {
  30. delete[] p;
  31. n = a.n;
  32. p = new T[n];
  33. }
  34. for (int i=0; i<n; i=i+1) p[i]=a.p[i];
  35. }
  36. return *this;
  37. }
  38. template <class T>
  39. inline T& SimpleArray<T>::operator[] (int i)
  40. {
  41. return p[i];
  42. }
  43. template <class T>
  44. inline int SimpleArray<T>::numIndices ()
  45. {
  46. return n;
  47. }
  48. template <class T>
  49. inline int SimpleArray<T>::minIndex ()
  50. {
  51. return 0;
  52. }
  53. template <class T>
  54. inline int SimpleArray<T>::maxIndex ()
  55. {
  56. return n-1;
  57. }
  58. template <class T>
  59. inline bool SimpleArray<T>::isMember (int i)
  60. {
  61. return (i>=0 && i<n);
  62. }
  63. template <class T>
  64. std::ostream& operator<< (std::ostream& s,
  65. SimpleArray<T>& a)
  66. {
  67. s << "#( ";
  68. for (int i=a.minIndex(); i<=a.maxIndex(); i=i+1)
  69. s << a[i] << " ";
  70. s << ")" << std::endl;
  71. return s;
  72. }