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

C++

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

Templates - C++

31.01.2009, 15:31. Просмотров 2265. Ответов 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2009, 15:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Templates (C++):

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

Variadic templates, или variadic constructor в шаблоне, или прочие извращения - C++
Здравствуйте. Есть такое Wrapper&lt;Obj&gt; w; Wrapper - обертка над объектом того класса, который ему скормят (в данном случае - Obj)....

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

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

Variadic Templates - C++
проблема только в переводе на русский, обычно это &quot;Шаблоны с переменным числом аргументов&quot; но такое длинное выражение долго не проживёт....

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Бартимеус
181 / 33 / 2
Регистрация: 29.10.2008
Сообщений: 283
31.01.2009, 16:06 #2
а где сама ошибка?
0
Sony
0 / 0 / 0
Регистрация: 31.01.2009
Сообщений: 3
31.01.2009, 16:10  [ТС] #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".
0
Бартимеус
181 / 33 / 2
Регистрация: 29.10.2008
Сообщений: 283
31.01.2009, 16:21 #4
эт че за компилятор такой лес нагородил?!

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

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

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

компилатор :Microsoft Visual C++ 2008 Express Edition
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2009, 16:24
Привет! Вот еще темы с ответами:

Variadic templates - C++
А как бы так исхитриться, чтобы шаблонная функция, использующая Variadic templates узнала размер передаваемых ей параметров с тем, чтобы,...

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 fail - C++
Здравствуйте. У меня проблема, нужно реализовать в проекте функционал, который будет использовать шаблоны с переменным количеством...

Result_of + variadic templates - C++
Как здесь можно вывести возвращаемый тип функторов? res_t должен получиться типом которым они параметризуются.template &lt;typename ... F&gt; ...


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

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

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