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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
НастенькО
1 / 1 / 0
Регистрация: 01.03.2011
Сообщений: 44
#1

Шаблон - C++

01.03.2011, 20:41. Просмотров 575. Ответов 3
Метки нет (Все метки)

Создать класс-шаблон, содержащий поля для хранения одномерного массива и количества элементов в массиве. Описать методы для инициализации и вывода элементов массива на экран, а так же для подсчета суммы элементов массива, расположенных между первым и вторым положительными элементами. Продемонстрировать работу методов класса.
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2011, 20:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблон (C++):

Шаблоны функций, Ошибка: для использования класса шаблон требуется список аргументов шаблон - C++
Есть у меня 3 структуры Трамвай , Троллейбус , Автобус. Для автобуса определены функции (работают) Троллейбус и Трамвай одинаковые поля...

Ошибка при компиляции:"C2955 "Tree": для использования класс шаблон требуется список аргументов шаблон" - C++
Есть класс бинарного дерева, в нем структура. Класс - Tree, структура - list(листик, а не список). При компиляции выдает...

Шаблон - C++
Подскажите пожалуйста про шаблон! Создать шаблон класса: двухсвязный список. Добавления элементов int, string;

шаблон - C++
подскажите, пожалуйста, как на языке СИ сравнить слово с шаблоном ? то есть, например, есть шаблон *%#, где * - только цифры, % - только...

Шаблон - C++
Доброго времени суток. Есть две функции: void mouseMove( int x, int y, int speed = 1, int xMaxOffset = 0, int yMaxOffset = 0 ); void...

Шаблон - C++
Всем доброе время суток)) Вот нпаисал прогу: #include <string.h> #include <iostream> using namespace std; template<class T> ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
02.03.2011, 11:58 #2
Создать класс-шаблон, содержащий поля для хранения одномерного массива и количества элементов в массиве. Описать методы для инициализации и вывода элементов массива на экран
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include <iostream>
 
//--------------
 
template <typename T>
class Array
{
   private:        
      size_t size_;
      T* data_;
             
   public:
      explicit Array(size_t size)            
     : size_(size), 
       data_(new T[size_])
      {      
      }
      
      Array(const Array& rhs)
     : size_(rhs.size_),
       data_(new T[size_])
      {  
     for(size_t i = 0 ; i < size_; ++i) 
        data_[i] = rhs.data_[i];        
      }
 
      ~Array()
      {
     delete[] data_;
      }
      
      T& operator[](size_t i)
      {      
     return data_[i];
      }
 
      const T& operator[](size_t i) const
      {        
     return data_[i];
      }        
 
      Array& operator=(const Array& rhs)
      {
     if(&rhs != this)
     {
        if(size_ != rhs.size_)
        {
           delete[] data_;
           size_ = rhs.size_;
           data_ = new T[size_];
        }
 
        for(size_t i = 0 ; i < size_; ++i) 
           data_[i] = rhs.data_[i];     
     }
 
     return *this;
      }
 
      size_t size() const
      {
     return size_;
      }       
     
};
 
//--------------
 
template <typename T>
std::ostream& operator<<(std::ostream& stream, const Array<T>& rhs)
{
   for(size_t i = 0 ; i < rhs.size(); ++i)
      stream << rhs[i] << ' ';   
   
   return stream;
}
      
//--------------
 
template <typename T>
std::istream& operator>>(std::istream& stream, Array<T>& rhs)
{
   for(size_t i = 0; i < rhs.size(); ++i)
      stream >> rhs[i];
   
   return stream;
}
 
//--------------
 
int main()
{
   Array<int> a(5);   
 
   std::cout << "Input array of " << a.size() << " items:" << std::endl;
   std::cin >> a;   
   std::cout << "Array: "  << a << std::endl;   
 
   return 0;
}
подсчета суммы элементов массива, расположенных между первым и вторым положительными элементами
самостоятельно.
0
dr.curse
388 / 344 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
02.03.2011, 12:02 #3
rangerx, а почему тут template <typename T> а не template <class T>?
0
fasked
Эксперт С++
4936 / 2516 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
02.03.2011, 12:11 #4
Цитата Сообщение от aram_gyumri Посмотреть сообщение
а почему тут template <typename T> а не template <class T>?
эти записи аналогичны в данном случае, ключевое слово typename появилось чуть позже, чем class, кажется решили, что оно лучше описывает суть, но смысл остался тот же.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2011, 12:11
Привет! Вот еще темы с ответами:

Шаблон - C++
Имеется код: //header #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;valarray&gt; using namespace std; template &lt;class T1,...

вектор,шаблон - C++
можете написать итератор для класса уже неделю пишу не получается здесь T надо делать как структуру???? завтра сдавать,надеюсь на...

Шаблон класса - C++
Пытаюсь освоить использование шаблонов класса. Не получается скомпилировать проект, если определение шаблона и main() находятся в разных...

шаблон map - C++
пожалуйста дайте ссылку или напишите пример шаблона класса map с итератором.


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

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

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