fork download
  1. #include<iostream>
  2.  
  3. template <class T>
  4. class Mas
  5. {
  6. //хотя я почему-то помню, что объявленные тут приватны по умолчанию
  7. Mas();
  8.  
  9. private:
  10. T * item;
  11. int size;
  12. public:
  13. Mas(int array_size,T default_value){size=array_size;item = new T [size]; for (int i=0;i<size;i++) item[i]=default_value;}
  14. /*не помню в данный момент съест в таком виде деструктор или после нужно описать с явным заданием что тип от шаблона, но это не важно, когда буду у ПК на котором стоит MS VS 2010 проверю */
  15. ~Mas(){size=0; delete [] item;};
  16. //Max и должна быть friend методом, но класс 1 и более не предвидится
  17.  
  18.  
  19. template<class T2> friend T2 Max(Mas<T2> const& m);
  20. };
  21.  
  22. //вариант согласно вашего алгоритма
  23. template <class T2>
  24. T2 Max(Mas<T2> const& m) {T2 max;for (int i=0;i<m.size;i++) if (max<m.item[i]) max=m.item[i];return max;}
  25.  
  26. int main() {
  27. Mas<int> mas(100, 10);
  28.  
  29. std::cout << Max(mas);
  30.  
  31. return 0;
  32. }
Success #stdin #stdout 0s 2984KB
stdin
Standard input is empty
stdout
10