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

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

Восстановить пароль Регистрация
 
Mazagama
1 / 0 / 0
Регистрация: 27.05.2009
Сообщений: 12
16.05.2010, 09:47     Шаблонный класс векторов (динамических массивов) #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
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++ Шаблонный класс
Переделать класс в шаблонный класс C++
C++ Шаблонный класс
Шаблонный класс C++
C++ Создать класс для обработки векторов разность векторов норму векторов
Шаблонный класс C++
C++ Шаблонный класс
C++ шаблонный класс

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

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

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