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

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

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

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

22.04.2013, 20:44. Просмотров 1049. Ответов 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);
 
};
}
помогите пожалуйста с кодом методов которые я не описал, ну и подскажите правильно ли то что я уже сделал.
заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2013, 20:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос шаблон класса вектор (C++):

шаблон класса вектор - 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++
Есть у меня 3 структуры Трамвай , Троллейбус , Автобус. Для автобуса определены функции (работают) Троллейбус и Трамвай одинаковые поля...

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

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

Добавлено через 5 часов 42 минуты
нужна помощь..
0
23.04.2013, 18:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2013, 18:34
Привет! Вот еще темы с ответами:

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

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

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

Шаблон класса (параметризация класса) - C++
Нужна помощь и советы!!! Англо-русский словарь построен как список. Каждая компонента содержит английское слово, соответствующее...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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