|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.03.2012, 19:34 | #1 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 22
|
Структура в качестве параметра параметризованного класса
Здравствуйте))
Помогите пожалуйста разобраться с шаблонами и параметризованными классами в С++. Допустим, у меня имеется параметризованный класс, который работает с базовыми типами данных. Код HTML:
template <typename CData>
class Dec
{
private:
struct Node {
Node(CData const& u, CData const& f, CData const& c, CData const& s) {
university=u;
faculty=f;
chair=c;
study=s;
next=NULL;
prev=NULL;
}
CData university, faculty, chair, study;
Node *next, *prev;
};
Node* Head;
Node* Tail;
int size;
public:
Dec() { Head=NULL, Tail=NULL; size=0; }
~Dec() { clear(); }
bool push(CData const& u, CData const& f, CData const& c, CData const& s) {
Node* tmp=new Node(u,f,c,s);
tmp->next=Head;
tmp->prev=NULL;
if (Head) Head->prev = tmp;
Head=tmp;
if(!Tail) {
Tail=Head;
size++;
return true;
}
size++;
return true;
}
};
И я с ним работаю вот таким образом: Код HTML:
int main()
{
Dec<int> d1;
d1.push(10,10,10,10);
d1.push(20,20,20,20);
d1.push(30,30,30,30);
}
Код HTML:
int main()
{
Dec<Student> d1;
d1.push(Student(10,10,10,10));
d1.push(Student(20,20,20,20));
d1.push(Student(30,30,30,30));
}
|
13.03.2012, 19:54 | #2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Книга подскажет: Вандевурд, Джосаттис - Шаблоны C++
|
13.03.2012, 20:06 | #3 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 22
|
|
13.03.2012, 21:14 | #4 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
что именно не совсем понятно?
|
13.03.2012, 21:18 | #5 |
Пользователь
Регистрация: 30.10.2011
Сообщений: 22
|
|
13.03.2012, 21:38 | #6 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
начни с простейших шаблонов и функций. Постепенно наращивая сложность конструкции.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интерфейс в качестве параметра | sVasilich | Общие вопросы C/C++ | 8 | 13.01.2012 15:36 |
Конструктор класса не хочет принимать в качестве параметра адрес объекта другого класса | Jugger | Помощь студентам | 3 | 05.01.2012 04:10 |
Двумерный массив в качестве параметра | _-Re@l-_ | Паскаль, Turbo Pascal, PascalABC.NET | 15 | 06.07.2010 22:59 |
Массив в качестве параметра | DeKot | Общие вопросы Delphi | 6 | 15.10.2009 22:32 |
Передача метода класса в качестве параметра в другой метод | Dmytry87 | Общие вопросы C/C++ | 0 | 12.11.2008 15:28 |