Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

formatowanie cout

Ostatnio zmodyfikowano 2016-03-21 21:59
Autor Wiadomość
zolty13
Temat założony przez niniejszego użytkownika
formatowanie cout
» 2016-03-21 21:24:41
czesc mam pytanie czemu w pierwszym wypadku mamy litere a w drugim podaje kod ascii :). Czy to dlatego ze 2 przypadku ch konwertowane jest na int i cout drukuje liczbe calkowita?
C/C++
#include <stdio.h>
#include <string>
#include <iostream>
#include <ctime>
using namespace std;
int main( int argc, char * argv[] )
{
    char ch = 'a';
    cout << ++ch;
    cout << ch + 1;
}
P-146390
michal11
» 2016-03-21 21:59:48
Mniej więcej tak. W pierwszym przypadku jest wywoływana funkcja
char operator ++( char c )
, natomiast w drugim przypadku, ponieważ nie ma (tak mi się wydaje) operatora+ dla char i int, to wykonywana jest niejawna konwersja char na int i wykonywana funkcja
int operator +( int l, int r )
 dlatego dostajesz różne wyniki.
P-146397
« 1 »
  Strona 1 z 1