Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 13.06.2019
Сообщений: 34

Шаблоны функций и оператор cin

12.12.2023, 08:48. Показов 1261. Ответов 21

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
using namespace std;
template <typename T>
T swap(T a, T b);
int main(int argc, char *argv[])
{
    int a, b;
    cin>>a;
    cin>>b;
    cout <<swap(a, b);
    
 
}
template<typename T>
T swap( T a, T b)
{
    return a >b ? a : b;       
}
Добрый день

Подскажите почему не работает с cin?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.12.2023, 08:48
Ответы с готовыми решениями:

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор *
Помогите в следующем: Для класса шаблона следует перегрузить оператор присваивания, конструктор копирования, бинарный оператор суммы «*»,...

Как работает cin.peek, cin,get, cin.ignore, cin.clear?
Здравствуйте, товарищи и не товарищи!:) Я только начал изучать C++, а уже использую вещи, которые мне не понятны, и прошу объяснить, как...

Перегрузка функций, шаблоны функций Функция определения объемов: шара по его радиусу
Перегрузка функций, шаблоны функций Функция определения объемов: шара по его радиусу (V=4/3пиR2), конуса по радиусу основания и высоте...

21
13.12.2023, 10:15
Студворк — интернет-сервис помощи студентам

Не по теме:

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Код должен в первую очередь работать, то есть решать поставленную задачу
Это не в первую очередь. Это вообще не обсуждается и не рассматривается, ибо это само по себе подразумевается.
Как и машина должна ехать, а смонтированный электрощиток обеспечивать напряжениями выводные концы в правильной раскладке по земле-фазе-нейтрали. Это не " в первую очередь", это само собой разумеющееся.

А профессионально сделанная работа - она про другое. Она про обеспечение заявленных требований (по нагрузке, ресурсам и т.д.) и по поддерживаемости решения.
Программу должно быть легко расширять и она должна быть понятна другому специалисту, в электрощитке заложены запасы кабеля для переноса / замены автоматов и т.д.
Вот это - профессионализм, считаю.
А хаки/трюки/мне так привычно (это я недавно такой аргумент услышал замечательный), "смотри как я извернулся!" - это все фигня, либо стартапы, где всем вообще пофик, лишь бы перед "инвесторами отчитаться".

Так что вот эти вот все "мне так понятно" "это ж стандарт" - не очень добрый аргумент, считаю.

Хотя swap для аргументов в виде ссылок на "структуры студентов" - наверное идея неплохая.
Но таки огрестись потом с таким проектом - запросто.

0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
13.12.2023, 15:16
Lord-Stanly, в вашем коде конфликтуют две ошибки. Одна, как уже сказали, в непонимании использования объявления using namespace. А вторая мощнее, она заключается в неверном именовании. Вы выбрали имя объявленное в пространстве имён std и получили конфликт, но важно и то, что фактически, ваша функция ничего не обменивает. Она возвращает максимальное или равное из двух значений переданных аргументов и требует от их типа наличие оператора сравнения на >. Эту функцию не нужно называть swap. Назвав её max вы тоже получили бы конфликт (в std тоже есть это имя). Поэтому переименуйте функцию в любом случае, но на будущее, старайтесь избегать using namespace до тех пор, пока не научитесь читать сообщения компилятора или не поймёте тонкостей использования using namespace, как такового. В крайнем случае, вы можете провести видимость тех имён из std, которые вы конкретно, хотите использовать в данной программе. Это можно делать как локально, так и глобально. Например, вы могли бы написать: using std::cin;. Это избавило бы вас от необходимости набирать std:: (оператор разрешения имени) перед каждым cin. Зато вы избежите конфликтов с другими именами, а главное, будете помнить, что перегружать имя cin компилятор не позволит и понимать почему он пишет о конфликте в сообщении об ошибке.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.12.2023, 15:16

Оператор cin и ошибка
Вот у меня есть такая прога она считивает цифру если она входит в диапазон пишет Ок и завершает програму если нет то спрашивает еще...

Оператор cin в одну строку
Подскажите как организовать вывод через cin в одну строку на примере: #include &lt;iostream&gt; #include &lt;conio.h&gt; using...

Защита от дурака при вводе текста с помощью: cin.get cin.clear cin.sync
Доброго времени суток. На С++ учусь с недавних пор. Имеется стандартная &quot;защита от дурака&quot; на ввод. Не пойму предназначение cin.get()...

Объясните пожалуйста как работают cin.good(), cin.sync(), cin.clear()
Такая проблема: сдаю в вуза лабораторные по программированию, писал все сам, до этого c++ не изучал, поэтому возникали некоторые проблемы....

Оператор Like и шаблоны
Доброго времени суток, коллеги! Есть код, который не позволяет вводить а текстовое поле ничего, кроме цифр и знака &quot;,&quot; ...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru