char ch;
cin.get(ch);
cout << ch+1;
Почему cout думает что ch - это int ? А в случае ++ch нет.
Ключевыми моментами здесь является то, что
По-определению, выражение ++ch эквивалентно выражению ch = ch + 1.
Все целочисленные арифметические вычисления в языке С++ делаются в типе int (или unsigned int) как минимум. Типы меньшего размера автоматически преобразуются к типу int еще до начала вычислений.
Все вычисления в выражении ch + 1 делаются в типе int и результат этого выражения имеет тип int. Когда вы печатаете этот результат сразу - он интерпретируется, как значение типа int.
Выражение ++ch эквивалентно выражению ch = ch + 1. Сначала вычисляется результат выражения ch + 1 (который все так же будет иметь тип int), а затем он помещается обратно в переменную ch. Сама сама переменная ch становится результатом всего выражения ++ch. Тип значения при этом становится char.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости