И это всё МОЁ
#include <iostream>
template <typename T>
//T a;
class Sort
{
public:
Sort();
private:
T Sorting(T* mas,int size);
};
T Sort::Sorting(T*mas,int size)
{
T tmp;
for (int i = 0; i < size; i++)
for (int j = 0; j < size; j++)
if (mas[i] < mas[j])
{
tmp = mas[i];
mas[i] = mas[j];
mas[j] = tmp;
}
return (T)mas;
}
void printArray(const T* array, int count)
{
for (int ix = 0; ix < count; ix++)
std::cout << array[ix] << " ";
std::cout << std::endl;
} // конец шаблона функции printArray
int main()
{
const int iSize = 10,
dSize = 7,
fSize = 10,
cSize = 15;
// массивы разных типов данных
int iArray[iSize] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
double dArray[dSize] = { 1.2345, 2.234, 3.57, 4.67876, 5.346, 6.1545, 7.7682 };
float fArray[fSize] = { 1.34, 2.37, 3.23, 4.8, 5.879, 6.345, 73.434, 8.82, 9.33, 10.4 };
char cArray[cSize] = { "MARShdkeitocm8" };
Sort *sort = new Sort();
sort->Sorting(iArray, iSize);
sort->Sorting(dArray, dSize);
sort->Sorting(fArray, fSize);
sort->Sorting(cArray, cSize);
std::cout << "\t\t Шаблон функции вывода массива на экран\n\n";
// вызов локальной версии функции printArray для типа int через шаблон
std::cout << "\nМассив типа int:\n"; printArray(iArray, iSize);
// вызов локальной версии функции printArray для типа double через шаблон
std::cout << "\nМассив типа double:\n"; printArray(dArray, dSize);
// вызов локальной версии функции printArray для типа float через шаблон
std::cout << "\nМассив типа float:\n"; printArray(fArray, fSize);
// вызов локальной версии функции printArray для типа char через шаблон
std::cout << "\nМассив типа char:\n"; printArray(cArray, cSize);
return 0;
}