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

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

Восстановить пароль Регистрация
 
InSpectr
 Аватар для InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
15.12.2013, 21:20     собственный тип данных в deque #1
Добрый день. Возникла проблема. Надо очистить объект и вписать значения. 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 минут
может не ясно изложил вопрос. Нужно изменить контейнер, удалив из него одни элементы и заменив другие.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 21:20     собственный тип данных в deque
Посмотрите здесь:

C++ Перечисляемый тип данных.Символьный тип.
[C++]enum и типы данных.Как задать тип значений явно,и какой тип будет при переполнении? C++
C++ deque<float>
Как создать свой собственный тип на C++? C++
Создать собственный тип сложной переменной – заболеваемость C++
Путаница с типами данных TCHAR и char. Какой тип данных выбрать? C++
C++ Собственный тип не может быть вложенным в управляемом типе
C++ STL deque

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.12.2013, 07:14     собственный тип данных в deque #2
Цитата Сообщение от InSpectr Посмотреть сообщение
obj.clear() не работает
Очень даже работает, поэтому размер очереди становится равен 0, и тогда куда вы по индексам обращаетесь?
C++
1
2
obj.clear();
obj.resize(4);
InSpectr
 Аватар для InSpectr
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
16.12.2013, 21:36  [ТС]     собственный тип данных в deque #3
Точно, забыл... Спасибо большое
Yandex
Объявления
16.12.2013, 21:36     собственный тип данных в deque
Ответ Создать тему
Опции темы

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