Форум программистов, компьютерный форум CyberForum.ru

Шаблонный класс - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 76, средняя оценка - 4.64
cristaloleg
 Аватар для cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
30.10.2009, 14:50     Шаблонный класс #1
Как его реализовать??? Смысл я понимаю, но вот как записать...не знаю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2009, 14:50     Шаблонный класс
Посмотрите здесь:

C++ Шаблонный класс
Переделать класс в шаблонный класс C++
C++ Шаблонный класс
Шаблонный класс C++
C++ Шаблонный класс
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
30.10.2009, 15:05     Шаблонный класс #2
Вопрос немного непонятный..
это
C++
1
2
3
4
5
6
7
8
template<typename T>
class Employee{
public:
    //.............
private:
    T data;
    //.............
};
cristaloleg
 Аватар для cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
30.10.2009, 15:07  [ТС]     Шаблонный класс #3
эээ...позволь узнать:
1) если я хочу массив "T", то мне надо "T massiv[size]"???

2) и как создавать конструктор/деструктор

Спасибо.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
30.10.2009, 15:27     Шаблонный класс #4
Цитата Сообщение от cristaloleg Посмотреть сообщение
1) если я хочу массив "T", то мне надо "T massiv[size]"???
да..
Цитата Сообщение от cristaloleg Посмотреть сообщение
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
30
#include <iostream>
 
template<typename T>
class array{
public:
    array();
    array(const array<T>& );
 
    ~array();
private:
    T arr[10];
};
 
template<typename T> array<T>::array(){
    //initialize...
}
 
template<typename T> array<T>::array(const array<T>& rhs){
    //copy...
}
 
template<typename T> array<T>::~array(){
    //destructor...
}
 
int main()
{
    array<int> a;
    return 0;
}
cristaloleg
 Аватар для cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
30.10.2009, 19:19  [ТС]     Шаблонный класс #5
А как реализовать конструктор в другом файле?
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
30.10.2009, 19:25     Шаблонный класс #6
Никак. Экспорт шаблонов, AFAIK, не поддерживается большинством компиляторов. Но это на сегодняшний момент, в будущем ситуация, по-видимому, изменится......
cristaloleg
 Аватар для cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
30.10.2009, 20:10  [ТС]     Шаблонный класс #7
Цитата Сообщение от ISergey Посмотреть сообщение
array<int> a;
Вот это не пашет...=(
Пишет что нет подходщего конструктора.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1331 / 864 / 50
Регистрация: 02.01.2009
Сообщений: 2,622
Записей в блоге: 1
30.10.2009, 20:17     Шаблонный класс #8
У меня работает.. http://codepad.org/5KnpKJ1w
cristaloleg
 Аватар для cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
30.10.2009, 20:29  [ТС]     Шаблонный класс #9
Проблема заключалась в том, что описание класса и описание ф-ций были в разных файлах(для удобства так делал)
CheshireCat, извиняюсь что не принял в серьез
Goran71
2 / 2 / 0
Регистрация: 21.11.2008
Сообщений: 67
07.12.2010, 00:52     Шаблонный класс #10
Т.е. описание шаблонного класс нужно делать полностью в header ?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
07.12.2010, 02:32     Шаблонный класс #11
Goran71, Да.
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
07.12.2010, 02:49     Шаблонный класс #12
Вообще, можно и в .cpp, но тогда и подключать придётся .cpp, а это не очень круто.
VladSharikov
 Аватар для VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824
01.06.2012, 02:17     Шаблонный класс #13
А что более не круто: подключать .cpp или писать описания в .h?
Nick Alte
Эксперт С++
1591 / 983 / 116
Регистрация: 27.09.2009
Сообщений: 1,898
Завершенные тесты: 1
01.06.2012, 17:44     Шаблонный класс #14
Цитата Сообщение от VladSharikov Посмотреть сообщение
А что более не круто
Традиционно шаблоны описывают в заголовках (.h или даже лучше .hpp). Как в бусте. Вот буст - это общепризнанно круто. А ориентироваться на нетрадиционные... хм... методы... - не круто.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
02.06.2012, 00:26     Шаблонный класс #15
Цитата Сообщение от VladSharikov Посмотреть сообщение
подключать .cpp
Очень не круто.
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
27.11.2013, 14:27     Шаблонный класс #16
да, только сделать его не *.h , а сделать *.hpp
файл с расширением *.hpp инклудится куда нужно, а в нём можно сделать и прототип и реализацию сразу...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2013, 01:57     Шаблонный класс
Еще ссылки по теме:

Шаблонный класс C++
C++ Шаблонный класс
C++ шаблонный класс

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

Или воспользуйтесь поиском по форуму:
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
29.11.2013, 01:57     Шаблонный класс #17
Цитата Сообщение от Евгений Буланов Посмотреть сообщение
да, только сделать его не *.h , а сделать *.hpp
:/ да хоть *.ёклмн...
Yandex
Объявления
29.11.2013, 01:57     Шаблонный класс
Ответ Создать тему
Опции темы

Текущее время: 15:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru