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

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

Войти
Регистрация
Восстановить пароль
 
mh-coder
-4 / 26 / 3
Регистрация: 01.02.2014
Сообщений: 808
#1

Как определить тип данных потока istream - C++

26.06.2014, 16:09. Просмотров 717. Ответов 7
Метки нет (Все метки)

создал класс, перегрузил оператор ввода

C++
1
2
istream & operator >>(istream& in, Stack& cl){
}
дальше нужно передать данные в нужную функцию, вопрос, как определить введённый тип данных?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2014, 16:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как определить тип данных потока istream (C++):

тип cout-a ostrieam? соответствено тип cin-a istream? - C++
тип cout-a ostrieam? соответствено тип cin-a istream?

Как определить тип данных? - C++
Как определить тип данных переменной?

Разница между istream::putback и istream::unget - C++
Можете объяснить, пожалуйста, разницу этих двух функций?

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

Определить введенный тип данных - C++
К примеру int a; cin>>a; Если я введу не цифру ,а символ, все пздц, а можно и случайно попасть... как определить тип данных

Определить тип данных полей структуры - C++
Здравствуйте, суть задачи, есть объект, предположительно структура, необходимо определить список ее полей (названия и тип), как это можно...

7
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
26.06.2014, 16:37 #2
Тип каких данных? Что вы вообще пытаетесь сделать?
0
mh-coder
-4 / 26 / 3
Регистрация: 01.02.2014
Сообщений: 808
26.06.2014, 17:03  [ТС] #3
в класе перегружена функция, принимает чар и инт, каким макаром мне ей передать данные из потока чтоы копилятор определил тип?
0
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
26.06.2014, 17:06 #4
Так же, как и для стандартного ввода:
C++
1
2
char c;
cin >> c;
Только вместо cin подставьте свой поток.
0
mh-coder
-4 / 26 / 3
Регистрация: 01.02.2014
Сообщений: 808
26.06.2014, 17:59  [ТС] #5
так ввожу сразу в класс

C++
1
2
istream & operator >>(istream& in, Stack& cl){
}
мне нужно определить тип который пишол в потоке istream& in
0
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
26.06.2014, 18:28 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Как вариант:

C++
1
2
3
4
5
6
7
8
    char ch=0;
    int number=0;
    in >> number;
    if(!in)
    {
        in.clear();
        in >> ch;
    }
1
mh-coder
-4 / 26 / 3
Регистрация: 01.02.2014
Сообщений: 808
26.06.2014, 18:59  [ТС] #7
BatonPro, мм, такой вопрос, а что если я например ввёл букву , то после in >> number; в in будет false|0 ?? если да то почему?
0
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
26.06.2014, 19:26 #8
Если вы попытаетесь из потока прочитать число, а там будет буква, состояние потока будет ошибочным и вводить из него больше нельзя, получить состояние потока можно применив к нему оператор !, который вернет true если состояние ошибочное и false если с потоком всё в порядке. После этого можно сбросить состояние потока с помощью метода clear и продолжить ввод.
1
26.06.2014, 19:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2014, 19:26
Привет! Вот еще темы с ответами:

Геометрическая прогрессия: какой тип данных определить - C++
Привет, форумчане! В CPP я еще очень и очень зеленый, поэтому, нужна ваша помощь. Есть проблема с определением типа данных для...

Определить тип данных пришедших через шаблон - C++
Подскажите, есть функция с использованием шаблона, как мне определить какой тип данных пришёл, к примеру bool или int ...

Наследование - не могу определить пользовательский тип данных - C++
Доброго вечера! Я запутался с наследованием. Определил класс Dlina, состоящий из метров и сантиметров, в котором перегрузил операцию...

Определить тип данных принимающих только 3 значения - C++
. Переменная может принимать только три значения,которые определяются константами константами Value1, Value2,Value3. При попытке...


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

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

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