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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 76, средняя оценка - 4.64
cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
#1

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

30.10.2009, 14:50. Просмотров 10003. Ответов 16
Метки нет (Все метки)

Как его реализовать??? Смысл я понимаю, но вот как записать...не знаю
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2009, 14:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблонный класс (C++):

Класс Matrix: реализовать шаблонный класс для двумерных массивов - C++
Доброго времени суток. У меня вопрос: я создал класс Array со внутренним динамическим массивом и объекты этого типа смог создать и я ими...

Шаблонный класс и класс одномерный массив - C++
Задание: протестировать класс шаблон, с обычными типами данных я понял как делать, а как передать в шаблон свой класс я не понял. ...

Переделать класс в шаблонный класс - C++
Как данный процесс проделать? Я попробовал так по синтаксису из учебника: #include <iostream> #include <fstream> using...

Шаблонный класс - C++
Подскажите как указать реализацию методов для шаблонного класса template <class T_machine> class hospital_room { ...

Шаблонный класс - C++
Я запутался с шаблонами. Не пойму никак как вызвать конструктор с введенным в функции check_int() значением и как дальше вызвать функции...

Шаблонный класс - C++
#include <iostream> using namespace std; template <class T> class Vector{ private: int size, capacity; T* data; public: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 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
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
30.10.2009, 15:07  [ТС] #3
эээ...позволь узнать:
1) если я хочу массив "T", то мне надо "T massiv[size]"???

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

Спасибо.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 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
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
30.10.2009, 19:19  [ТС] #5
А как реализовать конструктор в другом файле?
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
30.10.2009, 19:25 #6
Никак. Экспорт шаблонов, AFAIK, не поддерживается большинством компиляторов. Но это на сегодняшний момент, в будущем ситуация, по-видимому, изменится......
cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
30.10.2009, 20:10  [ТС] #7
Цитата Сообщение от ISergey Посмотреть сообщение
array<int> a;
Вот это не пашет...=(
Пишет что нет подходщего конструктора.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 1
30.10.2009, 20:17 #8
У меня работает.. http://codepad.org/5KnpKJ1w
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
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
07.12.2010, 02:32 #11
Goran71, Да.
volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501
07.12.2010, 02:49 #12
Вообще, можно и в .cpp, но тогда и подключать придётся .cpp, а это не очень круто.
VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824
01.06.2012, 02:17 #13
А что более не круто: подключать .cpp или писать описания в .h?
Nick Alte
Эксперт С++
1636 / 1008 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
01.06.2012, 17:44 #14
Цитата Сообщение от VladSharikov Посмотреть сообщение
А что более не круто
Традиционно шаблоны описывают в заголовках (.h или даже лучше .hpp). Как в бусте. Вот буст - это общепризнанно круто. А ориентироваться на нетрадиционные... хм... методы... - не круто.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
02.06.2012, 00:26 #15
Цитата Сообщение от VladSharikov Посмотреть сообщение
подключать .cpp
Очень не круто.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2012, 00:26
Привет! Вот еще темы с ответами:

шаблонный класс - C++
реализован согласно &quot;Создание конструкторов и деструктора&quot; на шаблон класса с параметром -Тип данных в файле, редактируется (байт / слово /...

Шаблонный класс - C++
Ребята, объясните пожалуйста, как работает шаблонный класс, своими словами, на скромном маленьком примерчике. Заранее благодарю.

Шаблонный класс - C++
Ребят, прошу Вашей помощи.. Программу я написала.. Она работает. Но теперь мне нужно переделать ее , используя шаблонный класс. Я...

Шаблонный класс - C++
Создание шаблона класса с 1 параметром типа ( шаблонный класс ) По типу : Template&lt;Typename T&gt; Class... #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.06.2012, 00:26
Ответ Создать тему
Опции темы

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