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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как избавится от слов во входном потоке? http://www.cyberforum.ru/cpp-beginners/thread130257.html
Как избавится от слов во входном потоке? Программа должна считать (сохранение не обязательно) и подсчитать кол. слов до слова "done". Пример: Вход. текст: he has done it very well Выход. текст:...
C++ Удалить лишние пробелы в строке Добрый день. Прошу написать простую программу по заданию: В строке, введённой с клавиатуры, удалить все лишние пробелы. На форуме толкового ничего не нашел. Заранее благодарю. http://www.cyberforum.ru/cpp-beginners/thread130244.html
Зацикливается сортировка... ошибок не выводит... помогоите найти, где указателя не хватает, пожалуйста... C++
struct TStr { COper info; TStr *next,*prev; }; void CSpisok::Sort(void) { TStr *p1,*p2; int pr;
C++ Proxy
Подскажите как сделать клиента, который загружал страницу через прокси (HTTP/S,SOCKS4/4) Если соединение удалось, должен вывести строку, если не удолось должен вывести сообщение об ошибки....
C++ Работа с базовыми типами языка С http://www.cyberforum.ru/cpp-beginners/thread130231.html
Помогите пожалуйста сделать такое задание недавно стал изучать Си ещё плоховато разбираюсь буду очень благодарен: Задание: Вводит названия 10 городов и используя функции сравнения строк, сортирует...
C++ Работа с функциями языка С Помогите пожалуйста сделать такое задание на Си если это не сложно буду очень благодарен: Сгенерировать массив целых случайных чисел. Диапазон значений и количество элементов массива задать как... подробнее

Показать сообщение отдельно
Mazagama
1 / 0 / 0
Регистрация: 27.05.2009
Сообщений: 12

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

16.05.2010, 09:47. Просмотров 299. Ответов 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;
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru