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

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

Восстановить пароль Регистрация
 
neonitikus
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 9
22.04.2013, 20:44     шаблон класса вектор #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
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++
C++ шаблон класса вектор
Шаблон класса (параметризация класса) C++
C++ вектор,шаблон
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buckstabue
 Аватар для 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
Модератор
Эксперт С++
 Аватар для Croessmah
11840 / 6819 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
22.04.2013, 23:10     шаблон класса вектор #4
Цитата Сообщение от neonitikus Посмотреть сообщение
пожалуйста распишите коды методов стандартного контейнера вектора.
Это шаблонный класс, так что скорее всего файл с его реализацией лежит где-то в каталогах компилятора.
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     шаблон класса вектор
Ответ Создать тему
Опции темы

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