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

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

Войти
Регистрация
Восстановить пароль
 
neonitikus
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 9
#1

шаблон класса вектор - C++

22.04.2013, 20:44. Просмотров 949. Ответов 4
Метки нет (Все метки)

В общем говоря нужно описать методы вектора и перегрузки операций.
Во всех контейнерах для итераторов реализованы операции:
=, ==, !=, *, ++.
Вот что я сделал:
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
template<class T> class vector
{
  T * v;               
  int ind, size;
public:
    typedef T* iterator;
    vector(int n)             { v=new T[size=n]; ind=0; };
    ~vector(void)             { delete[] v; };
    void push_back(T &value)  { cout<<"Добавлен новый элемент : "<<value<<endl; v[ind++]=value; };
    iterator begin(void)      { return v; };
    iterator end(void)        { if (ind==0) return v; else return (v+ind-1);};
    void pop_back(void)       {cout<< "Выталкнут элемент: "<<v[--ind]<< endl;};
    T&   back(void)           {return (*(end()-1));};
    void erase (iterator p);
    iterator insert(iterator position, const T& value) ;
    T& at(int i);
    void clear(void);         {ind=0} 
    bool empty(void)         {return (ind==0);};
    size_type max_size(void){return size};
    size_type size(void){return ind};
    bool vector operator ==(&vector) {return (v==vectror.v);};
    bool vector operator !=(&vector) {return(!(v==vector.v));};
        &vector operator =(&vector);
 
};
}
помогите пожалуйста с кодом методов которые я не описал, ну и подскажите правильно ли то что я уже сделал.
заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2013, 20:44     шаблон класса вектор
Посмотрите здесь:

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

шаблон класса вектор - C++
Программа написана в qt при компиляции выдает ошибки - помогите разобраться. Вроде все написано правильно. template &lt;class T, int Size&gt;...

Шаблон класса вектор - C++
template &lt;class T&gt; class Vector { public: //? int size; T* data; public: Vector(int); int Size(); T&amp; operator...

Шаблон класса вектор с двумя членами-данными - C++
Здравствуйте Уважаемые. Нужна Ваша помощь в реализации программы: Построить шаблон класса Vector. Определите класс Record (запись) с...

Шаблон класса вектор с операциями индексации и функциями insert и erase - C++
У меня есть задача. функции erase и insert я реализовала. но чтобы они работали нужно написать LOL&amp; operator(int); Задача звучит...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
22.04.2013, 21:04     шаблон класса вектор #2
Если меня глаза не подводят, то у тебя тут полным полно ошибок. Взять хотя бы сравнение. Надо сравнивать не указатели, а элементы в опертарах !=, ==. Это можно делать при помощи функции memcmp из <cstring>. Функцию erase, кажется, можно реализовать при помощи функции memmove() на место удаляемого элемента поставить память(сдвинуть влево), которая после нее. Для insert то же самое, только сдвигать все элементы вправо при помощи memmove() и на освобидвшееся место поставить новый элемент
neonitikus
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 9
22.04.2013, 22:19  [ТС]     шаблон класса вектор #3
мне нужно без меммува. пожалуйста распишите коды методов стандартного контейнера вектора.
Croessmah
Модератор
Эксперт CЭксперт С++
13054 / 7317 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
22.04.2013, 23:10     шаблон класса вектор #4
Цитата Сообщение от neonitikus Посмотреть сообщение
пожалуйста распишите коды методов стандартного контейнера вектора.
Это шаблонный класс, так что скорее всего файл с его реализацией лежит где-то в каталогах компилятора.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2013, 18:34     шаблон класса вектор
Еще ссылки по теме:

Шаблон вектор в шаблоне стека -.- - C++
Нужно создать объект шаблонного класса стек, содержащий объекты шаблонного класса вектор. Вот класс стек: template &lt;class T&gt; class...

Как правильно создать шаблон на функцию, которая использует вектор? - C++
есть вот такая шаблонная функция, template &lt;typename T&gt; void rev(const std::vector &lt;T&gt; &amp;v){ ...

шаблон класса - C++
Подскажите, пожалуйста, как правильно реализовать метод print(), чтобы можно было выводить разные типы данных, например, можно было...

Шаблон класса - C++
Столкнулся со следующей проблемой. Приведенный ниже шаблон класса коректно компилируется и работает пока находится в одном срр-шном файле...

шаблон класса - C++
компилятор с линковщиком выдают такие ошибки 1&gt;main.obj : error LNK2019: ссылка на неразрешенный внешний символ &quot;public: __thiscall...

Шаблон класса. - C++
Приведите пожалуйста пример какого нибудь простого класса с меню. Чтобы пользователь сам вводил, а не компьютер заполнял.


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

Или воспользуйтесь поиском по форуму:
neonitikus
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 9
23.04.2013, 18:34  [ТС]     шаблон класса вектор #5
Там написано, но слишком запутанно. Мне нужно написать этот шаблон вектора максимально просто...
Это же стандартные операции , должно быть их можно написать довольно легко, но я неопытен и не могу это сделать, особенно insert, erase, at и т.д .

Добавлено через 13 часов 25 минут
кто-нибудь может написать insert, erase, at в шаблон этот?

Добавлено через 5 часов 42 минуты
нужна помощь..
Yandex
Объявления
23.04.2013, 18:34     шаблон класса вектор
Ответ Создать тему
Опции темы

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