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

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

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

Шаблонный класс векторов (динамических массивов) - C++

16.05.2010, 09:47. Просмотров 287. Ответов 0
Метки нет (Все метки)

Помогите описать методы для класса.
•операцию индексирования, возвращающую ссылку на соответствующий элемент
вектора;
• метод, добавляющий элемент в произвольную позицию вектора;
• метод, добавляющий элемент в конец вектора;
• метод, удаляющий элемент из конца вектора.

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
//Person.h
//Класс, определяющий людей по их именам
#pragma once
#include <cstring>
#include <iostream>
 
using std::cout;
using std::endl;
 
class Person
{
    public:
        
        //Конструктор включающий варианты без аргументов
        Person (char* first = "John", char* second = "Doe")
            {
                size_t length = strlen (first)+1;
                firstname = new char [length];
                strcpy_s (firstname, length, first);
                length = strlen(second)+1;
                secondname = new char [length];
                strcpy_s (secondname, length, second);
            }
        //Копирующий конструктор
        Person (const Person& p)
            {
                size_t length = strlen(p.firstname)+1;
                firstname =  new char[length];
                strcpy_s (firstname,length,p.firstname);
                length = strlen (p.secondname)+1;
                secondname =new char [length];
                strcpy_s (secondname, length, p.secondname);
            }
        //Деструктор
        ~Person()
        {
            delete[] firstname;
            delete[] secondname;
        }
        //Операцыя присваивания
        Person& operator=(const Person& p)
            {
                // 
                if (&p == this)
                    return *this;
                delete[] firstname;
                delete[] secondname;
                size_t length = strlen (p.firstname)+1;
                firstname =  new char[length];
                strcpy_s (firstname,length,p.firstname);
                length = strlen (p.secondname)+1;
                secondname =new char [length];
                strcpy_s (secondname, length, p.secondname);
                return *this;
            }
        //Операцыя "меньше чем"
        bool operator<(const Person& p) const
            {
                int result = strcmp (secondname,p.secondname);
                if (result < 0 || result == 0 && strcmp (firstname,p.firstname) < 0)
                    return true;
                return false;
            }
        //вывод персоны
        void showPerson () const
        {
            cout << firstname << " " << secondname << endl;
        }
    private:
        
        char* firstname;
        char* secondname;
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2010, 09:47     Шаблонный класс векторов (динамических массивов)
Посмотрите здесь:

Переделать класс в шаблонный класс - C++
Как данный процесс проделать? Я попробовал так по синтаксису из учебника: #include &lt;iostream&gt; #include &lt;fstream&gt; using...

Шаблонный класс array (C++ 11) - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;cstring&gt; #include &lt;array&gt; using namespace std; int main(){ array &lt;long...

Указатель на шаблонный класс - C++
Есть ли возможность инициализировать указатель на класс с шаблоном, но не указав при этом тип, ну т.е. написать не так Value_Class...

Шаблонный класс: матрица - C++
Хочу запилить класс matrix - двумерный массив с помощью vector пишу: #include &lt;iostream&gt; #include &lt;vector&gt; using namespace...

Шаблонный класс shared_ptr - C++
Почему после того как я написал диструктор, программа начала в конце выдавать ошибку? И почему к функции operator*() можно обращаться из...

Примитивный шаблонный класс С++ - C++
Создайте пожалуйста любой шаблонный класс на начальном (или &quot;примитивном&quot;) уровне языка. Для понимания сделайте с розьяснением...

Абстрактный шаблонный класс - C++
Вообщем какое дело. У меня есть класс матрица, который сделан с использованием шаблонов и STL. В нем перегружены операторы ввода/вывода в...

Реализовать шаблонный класс - C++
В общем требуется реализовать шаблонный класс FixedArray&lt;T,N&gt; FixedArray - абстракция вокруг T Использование выглядит как...

Шаблонный класс Множества - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; //============================= ...

Шаблонный класс List - C++
Имеется 2 шаблонных класса List и Node. Один объявлен другом другого. По идее должно работать, но у компилятора другое мнение на этот счет:...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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