Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 9
1

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

22.04.2013, 20:44. Просмотров 2240. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2013, 20:44
Ответы с готовыми решениями:

Шаблон класса вектор
Реализовать шаблон контейнерного класса vector, который бы характеризовался поведением,...

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

шаблон класса вектор
На экзамене будет задание: создать шаблонный класс вектор с возможностью вывода...

шаблон класса вектор
Программа написана в qt при компиляции выдает ошибки - помогите разобраться. Вроде все написано...

4
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 624
22.04.2013, 21:04 2
Если меня глаза не подводят, то у тебя тут полным полно ошибок. Взять хотя бы сравнение. Надо сравнивать не указатели, а элементы в опертарах !=, ==. Это можно делать при помощи функции memcmp из <cstring>. Функцию erase, кажется, можно реализовать при помощи функции memmove() на место удаляемого элемента поставить память(сдвинуть влево), которая после нее. Для insert то же самое, только сдвигать все элементы вправо при помощи memmove() и на освобидвшееся место поставить новый элемент
0
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 9
22.04.2013, 22:19  [ТС] 3
мне нужно без меммува. пожалуйста распишите коды методов стандартного контейнера вектора.
0
Don't worry, be happy
16968 / 9849 / 1897
Регистрация: 27.09.2012
Сообщений: 24,420
Записей в блоге: 1
22.04.2013, 23:10 4
Цитата Сообщение от neonitikus Посмотреть сообщение
пожалуйста распишите коды методов стандартного контейнера вектора.
Это шаблонный класс, так что скорее всего файл с его реализацией лежит где-то в каталогах компилятора.
0
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 9
23.04.2013, 18:34  [ТС] 5
Там написано, но слишком запутанно. Мне нужно написать этот шаблон вектора максимально просто...
Это же стандартные операции , должно быть их можно написать довольно легко, но я неопытен и не могу это сделать, особенно insert, erase, at и т.д .

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

Добавлено через 5 часов 42 минуты
нужна помощь..
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2013, 18:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

Шаблон класса вектор с операциями индексации и функциями insert и erase
У меня есть задача. функции erase и insert я реализовала. но чтобы они работали нужно написать...

Шаблон родительского класса и шаблон класса потомка
Запутался, как правильно пронаследоваться от шаблона класса? #include &lt;iostream&gt; #include...

Шаблоны функций, Ошибка: для использования класса шаблон требуется список аргументов шаблон
Есть у меня 3 структуры Трамвай , Троллейбус , Автобус. Для автобуса определены функции (работают)...

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

Написать шаблон класса на основе класса vector для реализации стековой структуры данных
Пыталась написать код, но не уверена будет ли такая реализация корректной, можно ли это сделать...


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

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

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