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

Перегрузка оператора ввода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Комплексная сортировка структуры! http://www.cyberforum.ru/cpp-beginners/thread1021319.html
Народ, помогите сделать сортировку, которая сортирует структуру "общежитие", по наличию балкона в комнате! А потом полученную структуру нужно отсортировать еще раз! нужно чтобы сначала шли комнаты в которых есть балкон(и по убыванию площадь на человека), а потом те, в которых его нету(и по убыванию площадь на человека) void sort2(){ for(int i=0; i<size-1;i++){ for(int j = i + 1;...
C++ маленькая маленькая консультация, не сложная работа почему эта прога не компилируется? #include<iostream.h> #include<string.h> #include<math.h> int main() { string z="1011"; int znum=0; for(int i=z.length()-1; i>=0; i--) http://www.cyberforum.ru/cpp-beginners/thread1021310.html
Рекурсия, не используя циклы С++ C++
Описать рекурсивную функцию MaxElem(A, N) целого типа, которая находит максимальный элемент целочисленного массива A размера N (1 ≤ N ≤ 10), не используя оператор цикла. С помощью этой функции найти максимальные элементы массивов A, B, C размера NA, NB, NC соответственно. Плиз, помогите решить!
Динам. массив в классе C++
Здравствуйте, За пример брал пободный код (он работает и делает дин.массив из нолей): #include <iostream> using namespace std; void main() { int n; cin>>n;
C++ Имитация консоли ? http://www.cyberforum.ru/cpp-beginners/thread1021291.html
Форумчане, вечер добрый. В общем решил в одну конторку устроится. Получил тестовое. Но днём был занят и потому не имел возможности вникнуть в его суть. Надеюсь кто либо разьяснит на ппальцах что имеется в виду. Задание: Программа должна обеспечивать ввод команды (cmd) в текстовое поле с возможностью ее последующего выполнения в фоновом режиме с сохранением результатов в текстовом файле....
C++ удалить повторяющиеся числа, записанные через ; В файле содержатся числа, разделенные знаком «;». Программа читает данные из файла, помещает их в объект класса vector; если вставляемое число уже находится в векторе, то предыдущее включение удаляется; после окончания ввода оставшиеся числа выводятся в файл. Без ; все работает, а вот с ней никак не получается. подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
28.11.2013, 22:30     Перегрузка оператора ввода
Цитата Сообщение от FreeMan108 Посмотреть сообщение
Что-то ничего не нашел. Можно ссылку на ресурс или исходный код.
Вот из студии например код:
Кликните здесь для просмотра всего текста
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
        // basic_string INSERTERS AND EXTRACTORS
template<class _Elem,
    class _Traits,
    class _Alloc> inline
    basic_istream<_Elem, _Traits>& operator>>(
        basic_istream<_Elem, _Traits>&& _Istr,
        basic_string<_Elem, _Traits, _Alloc>& _Str)
    {   // extract a string
    typedef ctype<_Elem> _Ctype;
    typedef basic_istream<_Elem, _Traits> _Myis;
    typedef basic_string<_Elem, _Traits, _Alloc> _Mystr;
    typedef typename _Mystr::size_type _Mysizt;
 
    ios_base::iostate _State = ios_base::goodbit;
    bool _Changed = false;
    const typename _Myis::sentry _Ok(_Istr);
 
    if (_Ok)
        {   // state okay, extract characters
        const _Ctype& _Ctype_fac = _USE(_Istr.getloc(), _Ctype);
        _Str.erase();
 
        _TRY_IO_BEGIN
        _Mysizt _Size = 0 < _Istr.width()
            && (_Mysizt)_Istr.width() < _Str.max_size()
                ? (_Mysizt)_Istr.width() : _Str.max_size();
        typename _Traits::int_type _Meta = _Istr.rdbuf()->sgetc();
 
        for (; 0 < _Size; --_Size, _Meta = _Istr.rdbuf()->snextc())
            if(_Traits::eq_int_type(_Traits::eof(), _Meta))
                {   // end of file, quit
                _State |= ios_base::eofbit;
                break;
                }
            else if (_Ctype_fac.is(_Ctype::space,
                _Traits::to_char_type(_Meta)))
                break;  // whitespace, quit
            else
                {   // add character to string
                _Str.append(1, _Traits::to_char_type(_Meta));
                _Changed = true;
                }
        _CATCH_IO_(_Istr)
        }
 
    _Istr.width(0);
    if (!_Changed)
        _State |= ios_base::failbit;
    _Istr.setstate(_State);
    return (_Istr);
    }


Запускаете элементарный пример:
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <string>
 
int main()
{
    std::string s;
    std::cin >> s; // Здесь идете отладчиком внутрь
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru