In C werden char
-Konstanten generell -außer in Feldern-
als int
-Konstanten
behandelt.
In C++ behalten Sie dagegen den Typ char
, werden aber natürlich
bei Bedarf durch implizite Typkonversion in Ausdrücken umgewandelt.
Dies ist in C++ dann von Bedeutung, wenn Funktionen überladen werden.
Dabei existieren dann mehrere Funktionen mit demselben Namen, aber
unterschiedlichen Typen der Argumente (sie unterscheiden sich also in
der Signatur). Dann wird gegebenenfalls bei einer
char
-Konstanten auch die Funktion mit einem char
-Argument
ausgewählt.
Das folgende Beispiel ist schon ein Vorgriff auf die Verwendung
der Standardausgabedatei
(cout
) in C++. Man kann mit dem Operator
<<
(unter anderem für cout
definiert in
iostream)
Werte in ihrem jeweiligen Standardformat ausgeben.
// Time-stamp: "(15.11.01 16:10) couta.cpp [Klaus Wachtler (aw38)]" #include <iostream> using namespace std; int main() { cout << 'A' << "\n"; return 0; }Dieses Programm gibt das Zeichen [A] aus, nicht dagegen seinen Wert im Zahlensystem.
Will man dagegen nicht das Zeichen, sondern seinen Wert, dann muß man explizit den Typ wandeln (cast), siehe Explizite Typumwandlung:
// Time-stamp: "(15.11.01 16:03) cout65.cpp [Klaus Wachtler (aw38)]" #include <iostream> using namespace std; int main() { cout << int('A') << "\n"; return 0; }