Fragen zu C++

[xFx] TDK

Enthusiast
Thread Starter
Mitglied seit
12.10.2006
Beiträge
859
Hallo,
ich habe eine frage zu visual studio. und zwar beim c++.
Was muss ich auswählen um den anfang zu bekommen:

#include <iostream>
using namespace std;
main()
{
}

ich dachte eigentlich es wäre eine Consolen Application nur die hat nicht
"using namespace std" ich brauch das weil ich was aus einen buch nachprogrammieren will und nicht immer den anfang ändern will. danke shcon mal im voraus.

mfg
Philipp
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hallo

Das "using namespace std" ist nicht Pflicht sondern nur empfehlenswert, wenn du STL-Funktionen benutzt. Das hat auch nichts mit Consolen-App oder GUI-App zu tun. "Normale" C-/C++ -Dinge gehen auch ohne. Die includes mußt du je nach benutzten Funktionen auswählen. iostream brauchst du, wenn du die Stream-Funktionen benutzt - im Zweifel sollte man die Hilfe konsultieren.

Jens
 
gut eine frage hätte ich noch.
Ich hab das buch C++ für schnelleinsteiger. Leider ist das für mich nicht wirklich geeignet da ich mit visual studio arbeite und der in dem buch rein gar nichts damit macht. welches buch is zu empfehlen? ich arbeite wie gesagt mit visual studio habe eigentlich nur c# kenntnisse und brauche mal nen grundbausatz für c++ wo mal alles erklärt wird (standardbefehle, ...) wenn einer eines weis bitte schreiben. könnte im schlimmsten fall auch englisch sein.
 
Mmh...
Ich weiß nicht genau was dir noch fehlt. In dem C++-Buch sollten ja die Grundlagen drin stehen und das unabhängig vom benutzten Compiler. Und Visual-Studio kennst du ja dann schon so etwa. Der Syntax von C++ ist weitgehend identisch mit C#.

Ansonsten vielleicht mal bei Wikipedia umsehen !

Ist auch schwierig ein Buch zu empfehlen, was man nicht gesehen hat. Vielleicht mal in die nächste Fachbuchhandlung gehen und ein paar C++-Bücher ansehen !
 
eigentlich bin ich ja nur zu dumm das buch mit dem visual studio anzuwenden. warum auch immer. es geht nicht der schreibt irgendwie nur :

#include <iostream>
using namespace std;
main()
{
cout << "Hello World\n";
}


vermutlich bin ich zu dumm das mit dem visual studio zum laufen zu bringen... oder er erklärt es falsch. er schreibt, dass das alles mit nem normalen text editior geht. wers glaubt... mit was soll ich dass dann debuggen? ich check das buch einfach net. deswegen wollt ich fragen ob einer ein vernünftiges kennt. ich glaube ein gutes buch für c++ zu finden ist schwerer als c++...
 
@ Philipp

der Autor von dem Buch gehört an die Wand getackert ;)

ich weiß zwar grad nicht, ob "main()" das selbe wie "void main()" ist, aber normalerweise definiert man main mit dem Rückgabewerte integer = int, also so:

"int main()"

außerdem bin ich mir nicht sicher, ob C++ versteht, was du mit '\n' meinst, bei Java geht das, aber bei C++ gibt es den Bezeichner "endl" = endline, der macht das selbe :)

so sollte dein Programm laufen

Code:
#include <iostream>
using namespace std;

int main()
{
  cout << "Hello World" << endl;

  // 0 als Rueckgabewert bedeutet, dass main normal terminiert
  return 0;
}
 
Du machst im Visual Studio einfach ein neues Projekt und zwar eine "console Application". Am besten die "precompiled header" ausschalten, die brauchst du erstmal nicht. Dann hast du in erzeugten .cpp-Datei was stehen mit "void _tmain( ..." . Das kannst du erweitern oder komplett durch deine Beispiele ersetzen.

Evtl. kommt ein Fehler "error C4430: missing type specifier..." in der main-Zeile. Das ist weil im C++ typenlose Funktionen nicht mehr erlaubt sind. Dann gibst du halt "int main(..." an !
 
so aber jetzt fress ich echt gleich nen besen. alter ich schmeiß den scheiß gleich vom computer und verlang das geld von microsoft zurück. alter jetzt spinnt die shceiße es kommt immer:
unable to start programm .....
das system kann die datei nicht finden.

so visual studio braucht am anfang noch
#include "stdafx.h"
jetzt gehts einwandfrei (nur deins dass vom Buchautor nicht)
Hinzugefügter Post:
Du machst im Visual Studio einfach ein neues Projekt und zwar eine "console Application". Am besten die "precompiled header" ausschalten, die brauchst du erstmal nicht. Dann hast du in erzeugten .cpp-Datei was stehen mit "void _tmain( ..." . Das kannst du erweitern oder komplett durch deine Beispiele ersetzen.

Evtl. kommt ein Fehler "error C4430: missing type specifier..." in der main-Zeile. Das ist weil im C++ typenlose Funktionen nicht mehr erlaubt sind. Dann gibst du halt "int main(..." an !

Win 32 oder CLR Consolen Application?
 
Zuletzt bearbeitet:
Win32 natürlich - CLR ist .net .

Wenn du "precompiled Header" ausmachst, entfällt das mit der stdafx.h.
 
jup ist win 32 funzt eigentlich alles so wie du es geschrieben hast.
So wie der es im buch geschrieben hat gehts auch nur er schreibt er hat einen fehler führt aber alles normal aus...
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
dürfte eben genau das int vor main sein... scheiß buch die ersten seiten brennen schon im ofen.

edit:
stdafx beschreibung von visual studio:
StdAfx.h, StdAfx.cpp
These files are used to build a precompiled header (PCH) file
named test1.pch and a precompiled types file named StdAfx.obj.
 
Zuletzt bearbeitet:
Die stdafx.h erstellt Visual Studio automatisch für die precompiled Header - und wird dann auch gebraucht. Wie gesagt: erstmal abschalten !

Wenn man große Projekte hat (zig Header und Quell-Dateien) beschleunigen precompiled Header die Übersetzung sehr stark.
 
aha, danke @ jens, wieder was gelernt ;)

bei uns in der FH haben wir gleich mit empty project gestartet, da kommen so Fragen garnicht auf :)
 
Stimmt - empty project ist vielleicht besser.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh