0 / 0 / 1
Регистрация: 01.11.2011
Сообщений: 18
1

Создание Шаблонного класса

10.12.2012, 17:00. Показов 3277. Ответов 4
Метки нет (Все метки)

Здравствуйте! Столкнулся с проблемой создания шаблона для класса. Не могу понять как ввести более одного символа если объявляю шаблон для типа char?
и еще есть ли возможность объявления разных типов данных для переменных внутри шаблона в мэйне?



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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 #include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
 
 
 
template<class T>
class Student
{
public:
Student(int n);
void print();
T& operator[](int i) {return name[i];}
 
 
 private:
 int size;
T *itsAge;
T *name;
};
 
template<class T>
Student<T>::Student(int n)
{  size=n;
name=new T[n];
itsAge=new T[n];
for(int i=0;i<size;i++)
{
cin>>*(name+i);
cin>>itsAge[i];}
}
 
template<class T>
void Student<T>::print()
{
for(int i=0;i<size;i++){
cout <<"\n name "<< name[i]<<i<<"\n";
cout<<"\n age "<<itsAge[i]<<i<<"\n";
                            }
}
 
 
 
void main()
{ int i;
cout<<"Skoliko par massivov?\n";
cin>>i;
cout<<"Vvodim massivi poelementno ";
Student<char> a(i);
a.print();
getch();
 
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2012, 17:00
Ответы с готовыми решениями:

Как корректно передать в метод шаблонного класса объект шаблонного класса в качестве параметра?
header.h template &lt;class T&gt; class MyVector { public: void swap(MyVector&lt;T&gt;Vector); }...

Возможно ли создание объекта шаблонного класса в функции этого класса?
Доброго времени суток, уважаемые форумчане :) Мне по лабам задали задание - реализовать шаблон...

Создание шаблонного класса matrix
main.cpp #include &lt;iostream&gt; #include &quot;CMatrix.h&quot; int main() { int n = 3; int m = 2;

Создание шаблонного класса(очередь)
Создал приоритетную очередь: #include &lt;iostream&gt; template&lt;typename T&gt; class Element {...

4
Don't worry, be happy
17780 / 10544 / 2035
Регистрация: 27.09.2012
Сообщений: 26,514
Записей в блоге: 1
10.12.2012, 17:03 2
Цитата Сообщение от Deemk0 Посмотреть сообщение
Не могу понять как ввести более одного символа если объявляю шаблон для типа char?
Сделайте специализацию шаблона под символьные типы
0
0 / 0 / 1
Регистрация: 01.11.2011
Сообщений: 18
10.12.2012, 17:13  [ТС] 3
Цитата Сообщение от Croessmah Посмотреть сообщение
Сделайте специализацию шаблона под символьные типы
вы про это
C++
1
 Student<char> a(i);
?
0
Don't worry, be happy
17780 / 10544 / 2035
Регистрация: 27.09.2012
Сообщений: 26,514
Записей в блоге: 1
10.12.2012, 17:17 4
Цитата Сообщение от Deemk0 Посмотреть сообщение
вы про это
Что такое специализация шаблона в С++
1
0 / 0 / 1
Регистрация: 01.11.2011
Сообщений: 18
10.12.2012, 17:31  [ТС] 5
Разобрался, т.е. вот что вышло, вроде все норм:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
 
 
 
template<class T1,class T2>
class Student
{
public:
Student(int n);
void print();
T1& operator[](int i) {return name[i];}
 
 
 private:
 int size;
T2 *itsAge;
T1 *name;
};
 
template<class T1,class T2>
Student<T1,T2>::Student(int n)
{  size=n;
name=new T1[n];
itsAge=new T2[n];
for(int i=0;i<size;i++)
{
cin>>*(name+i);
cin>>itsAge[i];}
}
 
template<class T1,class T2>
void Student<T1,T2>::print()
{
for(int i=0;i<size;i++){
cout <<"\n name "<< name[i]<<"\n";
cout<<"\n age "<<itsAge[i]<<"\n";
}}
 
 
 
void main()
{ int i;
cout<<"Skoliko par massivov?\n";
cin>>i;
cout<<"Vvodim massivi poelementno ";
Student<char *,int> a(i);
a.print();
getch();
 
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2012, 17:31
Помогаю со студенческими работами здесь

Создание шаблонного класса потомка и использование им родительских методов
Добрый день! По заданию нужно сделать класс с реализацией двусвязного списка, и некоторые методы...

Вызов метода у шаблонного поля, шаблонного класса
Пытаюсь разобраться с шаблонами- задача создать шаблонный класс, у которого есть шаблонное поле. и...

Инициализация шаблонного класса(В конструкторе класса после двоеточия вновь имя класса)
Всем доброго времени суток! Пытаюсь разобраться как работает приведенный мной код. Конкретно,...

Чем отличается шаблонный метод класса от шаблонного класса?
Чем отличается шаблонный метод класса от шаблонного класса???????ПЛИЗ!!!!Если можно немного ссылок...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru