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

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

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

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

22.04.2013, 20:44. Просмотров 880. Ответов 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++
C++ шаблон класса вектор
Шаблон класса (параметризация класса) C++
C++ вектор,шаблон
C++ Как правильно создать шаблон на функцию, которая использует вектор?
шаблон класса вектор C++
C++ Создать шаблон некоторого класса, возможно, реализованного с применением некоторого серверного класса
C++ Шаблон вектор в шаблоне стека -.-
Шаблон класса вектор с операциями индексации и функциями insert и erase C++
Составить описание класса "3D вектор". Объявить объекты класса и продемонстрировать работу методов 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
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12534 / 7096 / 797
Регистрация: 27.09.2012
Сообщений: 17,508
Записей в блоге: 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     шаблон класса вектор
Ответ Создать тему
Опции темы

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