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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.68
Sony
0 / 0 / 0
Регистрация: 31.01.2009
Сообщений: 3
#1

Templates - C++

31.01.2009, 15:31. Просмотров 2258. Ответов 4
Метки нет (Все метки)

всем привет вот у меня тут 1 проблемка кароче выдает ошибку непоиму что я делаю неправилно

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
template <class T> 
 class Array 
 {
 public:
 
Array(int itsSize = DefaultSize);
 Array(const Array &rhs);
 ~Array() { delete [] pType; itsNumberArrays; }
 
 
 Array& operator=(const Array&);
 T& operator[](int offSet) { return pType[offSet]; }
 const T& operator[](int offSet) const
 { return pType[offSet]; }
 
 int GetSize() const { return itsSize; }
static int GetNumberArrays() { return itsNumberArrays; }
 
 
 friend ostream& operator<< (ostream&, const Array<T>&);
 
 private:
 T *pType;
 int itsSize;
 static int itsNumberArrays;
 };
 
 template <class T>
 int Array<T>::itsNumberArrays = 0;
 
 template <class T>
Array<T>::Array(int size = DefaultSize):
 itsSize(size)
 {
 pType = new T[size];
for (int i = 0; i<size; i++)
 pType[i] = (T)0;
 itsNumberArrays++;
 }
 
template <class T>
 Array<T>& Array<T>::operator=(const Array &rhs)
 {
 if (this == &rhs)
return *this;
 delete [] pType;
 itsSize = rhs.GetSize();
 pType = new T[itsSize];
 
 for (int i = 0; i<itsSize; i++)
 pType[i] = rhs[i];
 }
 
 template <class T>
Array<T>::Array(const Array &rhs)
 {
 itsSize = rhs.GetSize();
 pType = new T[itsSize];
 for (int i = 0; i<itsSize; i++)
pType[i] = rhs[i];
 itsNumberArrays++;
 }
 
 
 template <class T>
 ostream& operator<< (ostream& output, const Array<T>& theArray)
 {
 for (int i = 0; i<theArray.GetSize(); i++)
 output << "[" << i << "] " << theArray[i] << endl;
 return output;
 }
 
int main ()
{
Array<int> theArray;
cout <<theArray<<endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2009, 15:31     Templates
Посмотрите здесь:

Variadic templates - C++
как можно сделать чтобы функция принимала бесконечное количество объектов std::string? (только их) я пробовал вот так: template&lt;const...

templates, STL - C++
ПЕРВОЕ средства обобщенного программирования в С++ (templates) ВТОРОЕ библиотека STL, контейнеры и алгоритмамы STL в чем разница...

Variadic templates - C++
1. как можно сделать чтобы передавались ссылки на переменные? (с variadic templates) 2. как вообще обращаться к переменным объявленным...

Generic inheritance. Templates - C++
Код компилируется. Не могу разобраться то ли я как не правильно иерархию построил то ли компилятор глючит. Вообщем если я пишу в...

Templates and pointers to functions - C++
в общем пишу одну процедурку для работы с текстовыми файлами, которая сама должна в вызывать функцию, переданную ей с определенными...

Templates внутри класса - C++
Добрый день!! Я новичок в Си ++. Никак не могу разобраться в синтаксисе. Помогите пожалуйста, а если можете, подскажите как лучше исполнить...

Перегрузка операторов и templates - C++
Добрый вечер!! Разбираюсь дальше с классами и шаблонами. Никак не получается создать класс Матрица. Знаю, что в интернете полно...

Ошибка: templates may not be 'virtual' - C++
Здравствуйте форумчане. Какими способами можно избежать этой ошибки? ошибка: templates may not be 'virtual' class IObject { ...

C++11::templates::compilation failure - C++
Почему не компилируется. Объяснить. template&lt; unsigned v = 10 &gt; class a { public: class b { std::vector&lt; char &gt; seq; int...

Разделить типы в variadic templates - C++
Допустим, я передаю в шаблон класса аргументы типов int, double, char*, cls&lt;int&gt;, int, cls&lt;double&gt; Я хочу создать в классе из всех pod...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Бартимеус
181 / 33 / 2
Регистрация: 29.10.2008
Сообщений: 283
31.01.2009, 16:06     Templates #2
а где сама ошибка?
Sony
0 / 0 / 0
Регистрация: 31.01.2009
Сообщений: 3
31.01.2009, 16:10  [ТС]     Templates #3
""class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class Array<int> const &)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@ABV?$Array@H@@@Z)" in Funktion "_main".
Бартимеус
181 / 33 / 2
Регистрация: 29.10.2008
Сообщений: 283
31.01.2009, 16:21     Templates #4
эт че за компилятор такой лес нагородил?!

Добавлено через 6 минут 51 секунду
ошибка первая - ты не подключил <iostream> и пытаешься использовать cout
Sony
0 / 0 / 0
Регистрация: 31.01.2009
Сообщений: 3
31.01.2009, 16:24  [ТС]     Templates #5
Цитата Сообщение от Бартимеус Посмотреть сообщение
эт че за компилятор такой лес нагородил?!

Добавлено через 6 минут 51 секунду
ошибка первая - ты не подключил <iostream> и пытаешься использовать cout

не я всё подключил тока тут сабил прописать кароче я нашол ошибку
friend ostream& operator<< <>(ostream&, const Array<T>&);
надо было вставить <> тока почему непоиму ?

компилатор :Microsoft Visual C++ 2008 Express Edition
Yandex
Объявления
31.01.2009, 16:24     Templates
Ответ Создать тему
Опции темы

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