Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sky-WaLkeR
1 / 1 / 0
Регистрация: 15.06.2012
Сообщений: 59
#1

Вынос реализации метода шаблона класса в другой файл - C++

27.09.2013, 17:23. Просмотров 1204. Ответов 2
Метки нет (Все метки)

Здравствуйте!

Допустим, есть класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// class.hpp
#ifndef CLASS_HPP_
#define CLASS_HPP_
 
class testClass{
public:
    int testMethod(int val);
};
 
 
#endif /* CLASS_HPP_ */
 
// class.cpp
#include "class.hpp"
 
int testClass::testMethod(int val){
    return ++val;
}
 
// main.cpp
#include <iostream>
#include "class.hpp"
 
int main(){
    testClass cl;
    std::cout << cl.testMethod(7);
 
    return 0;
}
Мне нужно сделать шаблон этого класса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
// class.hpp
#ifndef CLASS_HPP_
#define CLASS_HPP_
 
template <typename T> class testClass{
public:
    T testMethod(T val){
        return ++val;
    }
};
 
#endif /* CLASS_HPP_ */
Вопрос - можно ли (и если да, то как) вынести реализацию в отдельный файл, как я сделал это в обычном классе? Вынести за пределы объявления, но оставить в этом же файле я могу, а вот при переносе в другой файл...

Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2013, 17:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вынос реализации метода шаблона класса в другой файл (C++):

Разбиение метода класса на файл реализации и файл заголовка - C++
Добрый вечер. Есть код в заголовочном файле класса : #pragma once class MyArr { private: int *numbers; public: int...

Определение метода-шаблона за пределами шаблона класса - C++
День добрый! Разбираюсь в шаблонах, решил копнуть поглубже. Вот пример: template &lt;typename T1&gt; class K // шаблон класса { public:...

Вынос класса в отдельный файл - C++
Использую MS VS 2013 Ultimate Учусь программировать, решил попробовать написать морской бой. Решил создать класс игрока, в котором бы...

Ошибка компиляции при реализации класса-шаблона - C++
Не могу понять почему компилятор ругается. Помогите разобраться. #include &lt;iostream&gt; using namespace std; template...

Переопределение метода класса-шаблона - C++
Привет народ. Есть такой код: typedef OS::process&lt;OS::pr0, 90&gt; TProc1; TProc1 Proc1; template&lt;&gt; void Proc1::exec() { //тут...

Синтаксис определения метода специализии шаблона класса. - C++
Есть некий шаблон класса: template &lt;typename T1, typename T2, typename T3&gt; class А { }; Есть специализация этого шаблона и в нём некий...

2
Fyret
185 / 171 / 13
Регистрация: 30.07.2013
Сообщений: 359
27.09.2013, 17:44 #2
Нет. Но можно сделать видимость разделения объявления и реализации.
1
Sky-WaLkeR
1 / 1 / 0
Регистрация: 15.06.2012
Сообщений: 59
27.09.2013, 17:51  [ТС] #3
Спасибо за быстрый и точный ответ. Посмотрю...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2013, 17:51
Привет! Вот еще темы с ответами:

Передача метода класса в качестве параметра для метода другого класса - C++
Здравствуйте, Передо мной стоит такая задача. Необходимо разработать механизм, который бы мог прервать любую функцию, при этом абсолютна...

Отделение интерфейса от реализации класса: компиляция кода реализации - C++
Доброго времени суток, У меня возникла проблема с отделением интерфейса от реализации класса. Допустим, у меня есть три файла: 1....

Вызов метода класса из метода другого класса - C++
Помогите школнегу Имеется несколько классов class Com { protected: unsigned char bufrd, bufwr; unsigned char tx_index,...

Вынос глобальных переменных в отдельный файл - C++
Всем привет! Вопрос такой - сижу разбираюсь с вынесением функций в отдельные файлы. Что удалось выяснить - подключая через #include файл...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru