char-Konstanten

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;
}



AnyWare@Wachtler.de