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

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

Войти
Регистрация
Восстановить пароль
 
InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
#1

Собственный тип данных в deque - C++

15.12.2013, 21:20. Просмотров 335. Ответов 2
Метки нет (Все метки)

Добрый день. Возникла проблема. Надо очистить объект и вписать значения. obj.clear() не работает, как я понимаю он вызывает функцию из моего класса, а над что бы вызывал функцию из deque.
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
#include "stdafx.h"
#include <deque>
#include <iostream>
#include <Windows.h>
 
using namespace std;
 
class spectr
{
 
    
    private:
        char *name;
        int year;
    public:
        spectr()
        {
            name="0";
            year=0;
        }
 
        spectr(char *name,int year)
        {
            this->name=new char[30];
            strcpy(this->name,name);
            this->year=year;
        }
 
        friend istream& operator >> (istream& in, spectr& ob) // оператор >>
        {        
            in>>ob.name; 
            in>>ob.year;
            return in;
        }
 
        friend ostream& operator << (ostream& out, spectr& ob) // оператор << 
        {  
            cout<<ob.name<<" "<<ob.year;
            out<<endl; 
            return out;
        }
};
 
 
 
int main()
{
    int n=2;
    deque <spectr>::iterator obj2;
    deque <spectr> obj(4);
    deque <spectr> obj3;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    //ввод obj
    obj[0]=spectr("Дима",18);
    obj[1]=spectr("Вася",18);
    obj[2]=spectr("Макс",18);
    obj[3]=spectr("Игорь",18);
    for(int i=0;i<obj.size();i++)
        cout<<obj[i];
    cout<<endl;
    //полная очистка
    cout<<"Очистели obj и занесли новые данные"<<endl;
    obj.clear();
    obj[0]=spectr("Петя",19);
    obj[1]=spectr("Клава",19);
    obj[2]=spectr("Яна",19);
    obj[3]=spectr("Евросий",19);
    for(int i=0;i<obj.size();i++)
        cout<<obj[i];
    cout<<endl;
    return 0;
}
Добавлено через 1 час 25 минут
может не ясно изложил вопрос. Нужно изменить контейнер, удалив из него одни элементы и заменив другие.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 21:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Собственный тип данных в deque (C++):

Параметр шаблона класса как собственный тип данных - C++
Приветствую. Такой вопрос: как перегрузить операторы класса-шаблона, где в качестве аргумента шаблона выступает собственный тип данных....

Как создать свой собственный тип на C++? - C++
Здравствуйте!!! Возник вопрос как создать свой собственный тип на С++ который включат такие типы как int, string, double?

Создать собственный тип сложной переменной – заболеваемость - C++
Уважаемые, помогите, пожалуйста, с решение задачи. Задача Создать собственный тип сложной переменной – заболеваемость. Создать массив...

Собственный тип не может быть вложенным в управляемом типе - C++
class user_date { public: user_date(int, int, int); long get_days_number(void); void show_user_date(void); ...

Разработать программу «Система учета работников предприятия»; разработать собственный тип «Работник» - C++
Всем привет. Есть задача: Разработать программу «Система учета работников предприятия». Разработать собственный тип «Работник» - ...

Enum и типы данных. Как задать тип значений явно, и какой тип будет при переполнении? - C++
Пытаюсь сделать функцию с передачей нескольких параметров,используя битовые операции. В качестве параметров думаю использовать не...

2
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.12.2013, 07:14 #2
Цитата Сообщение от InSpectr Посмотреть сообщение
obj.clear() не работает
Очень даже работает, поэтому размер очереди становится равен 0, и тогда куда вы по индексам обращаетесь?
C++
1
2
obj.clear();
obj.resize(4);
1
InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
16.12.2013, 21:36  [ТС] #3
Точно, забыл... Спасибо большое
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2013, 21:36
Привет! Вот еще темы с ответами:

Перечисляемый тип данных.Символьный тип. - C++
1.type месяц = ( янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек ); год = (високосный, невисокосный); var d:28..31;...

Путаница с типами данных TCHAR и char. Какой тип данных выбрать? - C++
Я создавал тему в соседнем разделе:http://www.cyberforum.ru/cpp-networks/thread1119035.html Насколько я понял, то POST-данные в TCHAR...

Compair deque - C++
есть два списка. Теперь мне нужно сравнить элементы если х &lt;у то return (x+y) . я так думаю надо результат в 3 список записать как мне...

std::deque - C++
Как известно при добавлении в конец вектора элементов(и не только в конец) может возникнуть перераспределение памяти что переместит данные...


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

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

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