Как правильно создать наследник Template classа.

Тема в разделе "LANGS.C", создана пользователем CrawlUp, 26 сен 2018.

  1. CrawlUp

    CrawlUp Member

    Публикаций:
    0
    Регистрация:
    1 фев 2018
    Сообщения:
    53
    Как правильно создать наследник Template classa использующий вектор в качестве входного параметра:
    как только не шаманил рабочий вариант найти не смог. Использую VS17
    Код (Text):
    1. template <class T1> class SORT {
    2. protected:
    3.     vector <T1> *arrayData;
    4.     _int64 sizeData;
    5.  
    6. public:
    7.     //КОНСТРУКТОР КЛАССА, инициализация вектора из байтов или двойных слов
    8.     SORT(vector <T1> *arrayData)
    9.     {
    10.         this->arrayData = arrayData;
    11.         sizeData = this->arrayData->size();
    12.     }
    13. };
    14.  
    15. //СОЗДАЕМ КЛАСС НАСЛЕДНИК
    16. template <class T1> class SORT_BUBLE : public SORT <T1>{
    17. private:
    18. public:
    19. //наследуем конструктор класса sort
    20.     SORT_BUBLE(vector <T1> *value) :SORT<T1> (*value)
    21.     {
    22.        
    23.     }
    24. };
    25.  
    26. //Загрузка данных побайтно в вектор
    27. vector <BYTE> *fileBinaryBytes = new vector <BYTE>;
    28.  
    29. //Загрузка данных по двойным словам в вектор
    30. vector <DWORD> *fileBinaryDwords = new vector <DWORD>;
    31.  
    32. //Создание класса сортировки
    33. SORT<BYTE> sort(fileBinaryBytes);
    34.  
    35. //Создаиние класса наследника пузырьковой сортировки ----   >>>>>НЕ РАБОТАЕТ<<<<<<<
    36. SORT_BUBLE <DWORD> sort_buble(fileBinaryDwords);
    37.  
     
    Последнее редактирование: 26 сен 2018
  2. CrawlUp

    CrawlUp Member

    Публикаций:
    0
    Регистрация:
    1 фев 2018
    Сообщения:
    53
    Тут ответ либо слишком простой и люди на него не хотят тратить время, либо слишком сложный что бы в этом разбираться. Пока переписываешь элементарные примеры из каких либо уроков всё отлично работает, но когда хочешь использовать объектно-ориентированное программирование для какой либо реальной задачи, сразу возникают непреодолимые препятствия.
     
  3. RedLord

    RedLord Member

    Публикаций:
    0
    Регистрация:
    23 июн 2005
    Сообщения:
    176
    Адрес:
    Ukraine
    1. SORT_BUBLE(vector <T1> *value) :SORT<T1> (value)

      Наверное, заменить *value на value
      SORT принимает указатель
     
    CrawlUp нравится это.
  4. f1redArk

    f1redArk Member

    Публикаций:
    0
    Регистрация:
    10 июл 2008
    Сообщения:
    31
    Ну так не надо бездумно переписывать, надо хоть немного вникать. Как вам верно выше указали, ошибка довольно элементарна, и компилятор про нее явно пишет:

     
    CrawlUp нравится это.
  5. CrawlUp

    CrawlUp Member

    Публикаций:
    0
    Регистрация:
    1 фев 2018
    Сообщения:
    53
    Вы правы, заработало, но я готов поклясться, что этот вариант я тоже пробывал. Я вообще, прежде чем создавать тему на форуме перепробывал все доступные моему воображению варианты, даже самые неадекватные и бредовые(а вдруг сработает). И этот вариант заработал только после перезагрузки компьютера. Спасибо за помощь.