C++: Objekt cin funktioniert nicht?

2 Antworten

Visual Studio ruft immer nur main.cpp auf und nicht deine u_zahlen.cpp

Am einfachsten ist du machst ein neues Projekt in deiner Projektmappe und nutzt main.cpp für die ausgeführte Hauptdatei.

Der Rest sind Dateien die du mit Header einbinden kannst.

Also du schreibst eine meineKlasse.cpp (Definition) und meineKlasse.h (Deklaration) für deine meineKlasse, und kannst sie dann mittels #include "meineKlasse.h" in deine main.cpp einbinden.

edit: Wenn du so Dateien einbindest musst du natürlich die Funktion von main() auf was anderes umbennen und die Funktion dann in deiner main.cpp main() Funktion aufrufen. (Danke Peter für den Hinweis)

---

Alternativ kannst du MinGW installieren und Deine .cpp Dateien in der Konsole kompilieren. (MinGW bin Ordner in Path Umgebungsvariable eintragen)

Powershell:

>> g++ u_zahlen.cpp -o u_zahlen.exe

>> .\z_zahlen.exe

Für Mini-Projekte wie diese ist das zu empfehlen. Visual Studio ist mit Kanonen auf Spatzen schießen :) Als Konsolen-Editor empfehle ich Micro.

Und weil ich schon dabei bin kann ich dich auch zum neuen Windows Terminal raten das man im Store runterladen kann.

---

PS. Ich bin kein Freund von Visual Studio in der Lehre weil es einfach zu viel Bloat mitbringt den kein Mensch braucht wenn er grade anfängt. Alleine schon die Projekteinstellungen zu verstehen braucht eine eigene Vorlesung.

Dann lieber die Route über MinGW und makefiles.


PeterKremsner  01.11.2021, 18:36

Allerdings muss in diesem Fall die Funktion umbenannt werden da es nur eine main Funktion geben darf.

Außerdem muss man dem Buildcommand dann auch noch die u_zahlen.cpp übergen.

Also das Buildcommand für beide Dateien wäre dann g++ -o program main.cpp u_zahlen.cpp.

0
Bujin  01.11.2021, 18:38
@PeterKremsner

Du meinst wenn er sie in die main.cpp einbindet? Genau, da muss es eine andere Funtione sein.

0
PeterKremsner  01.11.2021, 18:39
@Bujin

Genau es darf eben für den Linker nur eine Funktion mit diesem Namen geben.

0

Du musst in hier auch das entsprechende Sourcefile builden. Vermutlich ist da eine main.cpp oder dergleichen die hier gebuildet und ausgeführt wird und nicht deine neue Datei damit musst du zuerst die Build bzw die Execute Anweisung anpassen, damit auch dieses File verwendet wird.