On Sun, Feb 25, 2001 at 07:06:45PM +0100, Tilo Wetzel wrote:
ich hab da mal ne Frage zu C++. Wie kann ich einer procedure (welche NICHTS zurückliefern soll) Paramter zur Ausgabe übergeben? Beispiel: so siehts in pascal aus:
procedure ausgabe_fehler(text: string); begin WriteLn("was auch immer"); WriteLn("was auch immer: ", text); end;
...
mit void ausgabe_fehler(char text) { printf("was auch immer\n"); printf("was auch immer %c\n", text); }
printf ist nicht unbedingt C++-typisch.
void ausgabe_fehler(const char* text) { cerr << "was auch immer" << "was auch immer" << text; }
definition char txt;
aufruf: txt="inhalt"; ausgabe(txt);
Zeichenkettein in C/C++ als ``const char*'' oder ``char *'', oder eben char[].
Oder: wie kann ich variablen und constanten so definieren, das ich aus jeder procedure / functions darauf zugreifen kann ?
Das ist was anderes. Es sind dann globale Variablen/Konstanten.
const char* text = "Hallo";
void ausgabe() { cout << text; }
Was ich auch ganz toll vermisse, ist die definiton string (zeichenkette). Ist in C irgendwie mieß gemacht.
Ich denke, das ist in Pascal mies gemacht. Dort können die Zeichenketten nicht länger als 255 Zeichen sein. In C können Sie kein '\0' enthalten. Jetzt ist die Frage, was für eine Zeichenkette wichtiger ist....
Wenn Du C++ programmierst, kannst Du es auch mit mit
#include <string>
versuchen. Dann hast Du den Datentyp `string'. Der kann beliebig lang sein und '\0' enthalten.
Dein Beispiel könnte so aussehen:
void ausgabe(const string& txt) // das ist eine Referenz auf einen // String, wegen der Pomeranze { cout << "bla bla " << txt; }
Best regards from Dresden/Germany Viele Gruesse aus Dresden Heiko Schlittermann