Befehl um Strings zu deklarieren

Hallo ihrs!
Ich bin, was C++ angeht, ein blutiger Anfänger. Ich habe mir ein Buch gekauft (schenken lassen), um von VB auf C++ umzusteigen!
In diesem Buch steht nun, dass Strings mit „string“ deklariert werden.
Bsp.:

int main()
{
string meinString;
return 0;
}

Der Befehl „string“ wird bei mir nicht angenommen. Auch die aus VB bekannte schreibweise „meinString$“ funzt net, obwohl das auch so in der Hilfe von Dev-C++ steht!
Kennt irgendjemand noch andere Befehle?
Ich benutze die iostream-Bibliothek!
Danke im Voraus!
mfg
frolic

P.S.: Was bewirkt eigentlich das „int“ bei „int main“? Wofür steht es ausgeschrieben?

hi,

bi leider kein ass, habe c++ nur unter linux, und ist schon ein jahr her, aber ich denke:

Ich bin, was C++ angeht, ein blutiger Anfänger. Ich habe mir
ein Buch gekauft (schenken lassen), um von VB auf C++
umzusteigen!
In diesem Buch steht nun, dass Strings mit „string“ deklariert
werden.

int main()
{
string meinString;

du musst hier eher mit einem konstruktor arbeiten:
string meinString = new string();

return 0;
}

P.S.: Was bewirkt eigentlich das „int“ bei „int main“? Wofür
steht es ausgeschrieben?

int main()

int steht dafuer das main als rückgabe eine ganze zahl (also typ int) liefert.

typischerweis bedeutet das, wenn alles berechnet wurde gib die „0“ zuruck.

josh

du musst hier eher mit einem konstruktor arbeiten:
string meinString = new string();

Was ist ein Konstruktor? Und kannst du das „string meinstring = new String();“
mal in ein Beispiel bringen?
Wie gesagt, ich bin ein blutiger Anfänger…

Hallo Frolic,

C++ ist objektorientiert wie Du sicher schon weißt… :wink: Um jetzt ein Objekt zu erzeugen, rufst Du „new“ auf und weist das Ergebniss einer entsprechenden Variable zu. (Diese wird übrigens in diesem Fall auch gerne als handle bezeichnet)
Diese führt dann eine spezielle Funktion der Klasse auf um z.B. Werte zu initialisieren, Speicher zu reservieren usw. Diese Funktion wird Konstruktor genannt.
Ebenso gibt es eine Funktion um die ganze Sache wieder zu löschen. Diese wird Destruktor genannt. In der Klassendeklaration erkennst Du diese Funktionen dadurch das diese genauso heißen wie die Klasse selbst, nur das der Destruktor eine Tilde (~) davor stehen hast. Das Bedeutet aber NICHT das Du diese Funktionen aufrufen sollst. Das übernimmt der Compiler für dich.

Das Beispiel was Du haben möchtest ist genau das was Du bereits hast …

Wenn Du jedoch in C programiern möchtest, dan probiers mal mit

void main (void)
{
char String[255]; /* 255 ist die länge des Arrays von char … */
return;
}

Hope it helps
Adriaan

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

eine korrekte Version des Programms waere z.B.:

#include 
#include 

int main()
{
 std::string myString;
 myString = "Hallo frolic!";
 std::cout 
Wahrscheinlich hast du nur die #include Anweisungen vergessen.



> P.S.: Was bewirkt eigentlich das "int" bei "int main"? Wofür  
> steht es ausgeschrieben?


Auch das Hauptprogramm bzw. die main-Funktion sind nur normale Funktionen. Mit dem Rueckgabewert der main-Funktion beschreibt man ueblicherweise, ob das Programm normal beendet wurde, oder ein Fehlerzustand auftrat. Also: Rueckgabewert 0 heisst "normal beendet", Rueckgabewert 1 heisst "Fehler". Dieser Wert kann dann von anderen Progammen, welche dein Programm verwenden, ausgewertet werden. 

Gruss,
Max

Hat sich geklärt!
Das Buch ist ein bissel wirrig aufgebaut. Da stand erst 2 Kapitel später, dass Strings ´ne Klasse für sich sind!
thx4help
mfg
frolic