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

Не могу объявить шаблонный класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Очередь как кольцевой массив http://www.cyberforum.ru/cpp-beginners/thread880800.html
Очередь как кольцевой массив. Скопировать содержимое стека в очередь. Я в программирование не особо, а сдать надо. Буду очень благодарна. =* Если можно , то с комментариями.
C++ Вывести стек наоборот ! Присоединить голову второго стека к хвосту первого. Помогите пожалуйста с последним циклом while(top2) , нужно вывести стек наоборот // STEK_3.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> using namespace std; struct node http://www.cyberforum.ru/cpp-beginners/thread880791.html
C++ Преобразование string в float
подскажите как оптимальнее преобразовать число в формате CString -1E+008, которое я получаю из Excel-я. Может существуют стандартные решения в STL или Boost? Решение на регулярных выражениях с поиском E в строке у меня уже есть. чтение из Excel производится классом CExcelWorkbook, на VC++ 7. Добавлено через 3 минуты терь совсем дошло std::stringstream ss; ss << sMin; float k = 0.0;
Написать библиотеку функций (шаблонов функций) для работы с динамическим двумерным массивом, реализующие следующие задачи C++
помогите пожалуйста Написать библиотеку функций (шаблонов функций) для работы с динамическим двумерным массивом, реализующие следующие задачи 1. Создание динамического массива указанного размера и его заполнения случайными числами. Функция возвращает адрес созданного массива (или адрес матрицы передается по ссылке). 2. Вывод элементов матрицы 3. Дополнение матрицы новой строкой 4. Удаление...
C++ Как определить первый с конца четный элемент двумерного массива? http://www.cyberforum.ru/cpp-beginners/thread880781.html
двумерный массив. Как определить первый с конца четный элемент двумерного массива? Как написать цикл for с конца в начало.
C++ чтение из файла Доброго времени суток! У меня возникла проблема, касающаяся вывода данных из файла. Не могу понять, с чем это связано void employee::read() { int size; employee_type etype; ifstream inf; inf.open("EMPLOY.DAT", ios::binary); if(!inf) подробнее

Показать сообщение отдельно
dev.nikor
25 / 26 / 1
Регистрация: 26.07.2010
Сообщений: 297

Не могу объявить шаблонный класс - C++

27.05.2013, 17:33. Просмотров 269. Ответов 3
Метки (Все метки)

Здравствуйте, имеется шаблонный класс динамического массива:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template<typename T>
class DynamicArray {
public:
    DynamicArray(int size);
    ~DynamicArray();
    void Add(T element);
    T Get(int index);
    void Resize(int newSize);
    void Show();
private:
    T* _box;
    int _currentSize;
    int _currentPosition;
};
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
#include "DynamicArray.h"
 
template<typename T>
DynamicArray<T>::DynamicArray(int size) {
    _box = new T[size];
    _currentSize = size;
    _currentPosition = 0;
}
 
template<typename T>
DynamicArray<T>::~DynamicArray() {
    delete[] _box;
}
 
template<typename T>
void DynamicArray<T>::Add(T element) {
    if(_currentPosition >= _currentSize)Resize(_currentSize * 2);
    _box[_currentPosition] = element;
}
 
template<typename T>
T DynamicArray<T>::Get(int index) {
    if(index < 0 || index >= _currentSize) throw "Out of bounds";
    return _box[index];
}
 
template<typename T>
void DynamicArray<T>::Resize(int newSize) {
    T* tempBox = new T[newSize];
    std::copy(_box, _box + _currentSize, tempBox);
    delete[] _box;
    _box = tempBox;
    _currentSize = newSize;
}
 
template<typename T>
void DynamicArray<T>::Show() {
    for(int i = 0; i < _currentSize; i++)std::cout << _box[i] < " ";
    std::cout << std::endl;
}
Когда я его компилирую с пустой функцией main, то всё нормально компилируется, но если я в main пишу
C++
1
DynamicArray<int> a(10);
то получаю ошибку линковщика. Скажите пожалуйста, что я делаю не так?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru