Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Hilkssmar
10 / 10 / 7
Регистрация: 21.12.2014
Сообщений: 28

Шаблоны и разделение кода

12.01.2015, 17:40. Показов 1316. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очевидно я как то напортачил в синтаксисе с использованием шаблонов...
Т.к если подсунуть определение методов прямо в класс - работает отлично, но если его перенести в list.cpp - ругается

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//   list.h
#pragma once
#include "StdAfx.h"
 
template <typename  T>
class list
{
public:
    list();
    ~list();
    void destroy();
 
private:
    struct node
    {
        T data;
        node* next;
        node* prev;
    };
    node* head;
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//  list.cpp
#include "StdAfx.h"
#include <iostream>
#include "list.h"
 
using namespace std;
 
template <typename T>
 list<T>::list()
 {
 }
 
 template <typename T>
 list<T>::~list()
 {
 }
 
template <typename T> 
void list<T>::destroy()
{
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// main.cpp
#include "stdafx.h"
#include <iostream>
#include "list.h"
 
using namespace std;
 
int main()
{
    
    list<int> L;
    
    system("pause>0");
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.01.2015, 17:40
Ответы с готовыми решениями:

Шаблоны, разделение на несколько файлов
Добрый вечер! Написал обобщенный класс. Все работает, все ок. Да, вот только мне не нравится, что реализация методов идет в...

Разделение кода на функции
Здраствуйте. Есть код программы, которая рандомно заполняет матрицу 3*7 и находит самый большой отрицательный элемент в строках с парным...

Разделение кода на несколько файлов
• Имеем основной cpp файл с main. • Имеем код некоторых нужных функций • Есть указание реализовать эти функции не в основном cpp, а в...

2
 Аватар для Hilkssmar
10 / 10 / 7
Регистрация: 21.12.2014
Сообщений: 28
12.01.2015, 17:41  [ТС]
скриншот
Миниатюры
Шаблоны и разделение кода  
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
12.01.2015, 17:41
Шаблоны не поддерживают раздельную компиляцию, реализация должна быть доступна — переносите в заголовочный файл.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.01.2015, 17:41
Помогаю со студенческими работами здесь

Разделение кода на несколько файлов
В объектированном программировании я начинающий, только недавно начал изучать иерархии классов и не очень разбираюсь, как один готовый код,...

Разделение кода на несколько файлов
Доброго времени суток. Заинтересовал вопрос о разделении кода, когда это требуется разделяю на один CPP файл и некоторое количество H...

Разделение кода на cpp и h файлы
Добрый день. Расскажите, пожалуйста, как разделить код на два файла cpp и файл h. #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Visual C++ Разделение кода на несколько файлов
Здравствуйте! Помогите разобраться, как разбить код на несколько файлов? Я только начинаю изучать этот язык. До этого изучал другие,...

Мешает ли разделение кода на объявление (.h) и определение (.cpp) inline оптимизации?
Читал что когда включают хедер но не реализацию в единицу трансляции, это мешает компилятору инлайнить функции/методы ввиду того что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru