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

C++

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

Templates - C++

31.01.2009, 15:31. Просмотров 2253. Ответов 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
Посмотрите здесь:

Templates and pointers to functions C++
C++ Generic inheritance. Templates
Variadic Templates C++
templates, STL C++
C++ Variadic templates fail
Variadic templates C++
C++ Variadic templates
C++ Result_of + variadic templates
Templates внутри класса C++
C++ Перегрузка операторов и templates
C++ Ошибка: templates may not be 'virtual'
Variadic templates C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Бартимеус
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
Ответ Создать тему
Опции темы

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