Легкий пример по шаблонам классов

Тема в разделе "MS Visual C++", создана пользователем -, 25 янв 2010.

  1. Гость

    Всем доброго времени суток. У меня такая проблема:
    Написал шаблон класса, но он не работает для типов double и float. Задача заключается в том чтобы написать шаблон класса massiv в котором хранится одномерный массив, есть конструктор, функция сортировки и показа отсортированного массива.
    Все работает, но только для целых чисел, а для остальных типов не работает...
    Вот код:
    Код (Text):
    #include <iostream.h>
    #include <math.h>
    #include <stdlib.h>

    template < class Tip >
    class Massiv
    {
    Tip *A,n;
    public:
    Massiv ()
    {
    cout<<"Vvedite col-vo elementov"<<endl;
    cin>>n;
    A=new Tip[n];
    cout<<"Vvodite elementi"<<endl;
    for(int i=0; i<n;i++)
    cin>>A[i];
    }

    void Show()
    {
    for(int i=0;i<n;i++)
    cout<<A[i]<<" ";
    cout<<endl;
    }
    void Sort()
    {
    int i;
    int j;
    Tip tmp;

    for(i = 0; i <= n-1; i++)
    {
    for(j = 0; j <= n-2-i; j++)
    {
    if( A[j]>A[j+1] )
    {
    tmp = A[j];
    A[j] = A[j+1];
    A[j+1] = tmp;
    }
    }
    }
    for(i=0;i<n;i++)
    cout<<A[i]<<" ";
    cout<<endl;
    }
    };

    void main()
    {
    cout<<"Celie: "<<endl;
    Massiv< int > I;
    cout<<endl;
    cout<<"Vechcestvennie: "<<endl;
    Massiv< float > D;
    cout<<endl;
    cout<<"Dlia int: "<<endl;
    I.Sort();
    cout<<"Dlia double"<<endl;
    D.Sort();

    }
     
  2. Sekt

    Sekt Гость

    Вы этот вопрос задавали на 3-ех форумах.И ответ был вам предоставлен.
     
Загрузка...

Поделиться этой страницей