Daten aus main in Klassenimplementierung übergeben?
-
Das hat überhaupt gar kein Sinn hier.
Das sind die absoluten Grundlagen die auf den allerersten Seiten jedes C++ Buches stehen.
Du musst dir ein solches kaufen und damit arbeiten. So wie du gerade vorgehst - planlos drauflos programmieren ohne überhaupt auch nur die Syntax der Sprache zu kennen - ist zum Scheitern verurteilt und sinnlos.
-
Ich habe viel beeits gelernt aber wie man aus der main Funktion etwas an in den Funktionsblock einer Methodenimplementierung gibt weiss ich trotzdem nicht.
Würdest du mir, wenn das so elementar ist, bitte ein beliebiges minimal Beispiel zeigen wie ich Daten aus der main in einen Klassenimplementierung übergebe?
-
-
Wenn ich so drüber nachdenke ... vielleicht doch lieber was deutsches.
http://www.highscore.de/cpp/einfuehrung/funktionen.html
Weiß nicht ob das ein gutes Tutorial ist, aber um sowas banales zu erkören sollte es reichen.
Du sollst dir natürlich trotzdem ein Buch holen. Warum weigerst du dich dagegen? Kratz dein Taschengeld zusammen.
-
cpp_Jungspund schrieb:
Würdest du mir, wenn das so elementar ist, bitte ein beliebiges minimal Beispiel zeigen wie ich Daten aus der main in einen Klassenimplementierung übergebe?
#include <iostream> class cl { public: void druck(int i){std::cout << i << '\n';} }; int main() { cl var; var.druck(5); }
-
Was ich meine ist genau anders herum. Ich will die Daten von der main Funktion in die Klasse übergeben.
Gruß
-
cpp_Jungspund schrieb:
Was ich meine ist genau anders herum. Ich will die Daten von der main Funktion in die Klasse übergeben.
"von" und "in" scheinen bei dir andere Bedeutungen zu haben als bei anderen Leuten. Hier wird "5" von der main in (oder besser an) var.druck übergeben.
Ansonsten schließe ich mich den Beobachtungen der anderen Helfer an. Entweder bist du nicht in der Lage, auszudrücken, was du möchtest; oder du kennst allereinfachste Grundlagen nicht, so dass es wenig Sinn macht, hier weiter zu diskutieren.
-
Stimmt mein Fehler.
Das mit dem Scope habe ich noch nicht komplett durchdrungen.
Mal angenommen ich habe im Funktionsblock einer Methodenimplementierung eine Variable erzeugt, dann ist diese nur in diesem Scope gültig. Wäre es dann auch möglich diese Variable woanders hinzu kopieren?
Grüße
-
cpp_Jungspund schrieb:
Mal angenommen ich habe im Funktionsblock einer Methodenimplementierung eine Variable erzeugt, dann ist diese nur in diesem Scope gültig. Wäre es dann auch möglich diese Variable woanders hinzu kopieren?
1. Die Variable ist so lange gültig, wie der Scope nicht verlassen wird. Einen anderen (Unter-)Scope zu betreten macht sie nicht ungültig.
2. Natürlich kann man etwas kopieren. Die Kopie wäre dann eine neue Variable und vollkommen unabhängig vom Original.Ich glaube nicht, dass du das Thema verstanden hast, ich weiß aber auch nicht, wo man bei dir überhaupt noch mit einer Erklärung ansetzen kann. Hast du überhaupt jemals ein Buch zu C++ gelesen?
-
Aus einer Funktion/Methode in den aufrufenden Scope übergibt man einen Wert normalerweise durch das
return-Statement. Wenn es sich um eine Methode handelt, kannst du außerdem die Member-Variablen der Instanz deiner Klasse beschreiben. Ansonsten wäre es auch möglich, per Pointer/Referenz übergebene Variablen (oder sogar globale Variablen -- ganz schlecht!) zu nutzen.Konzentriere dich also erstmal auf die "normale" Rückgabe via
return.
-
cpp_Jungspund schrieb:
Stimmt mein Fehler.
Das mit dem Scope habe ich noch nicht komplett durchdrungen.
Auch wenn das jetzt etwas direkt ist, aber wenn ich mir deine anderen Threads/Posts ansehe hast du leider einiges nicht durchdrungen.
Willst du richtig Programmieren lernen musst du dir mal ein ordentlichen Tutorial oder Buch zur Hand nehmen. Jeder hier hat irgendwann mal wie du klein angefangen und sich Stück für Stück hochgearbeitet. Dein Problem besteht aktuell darin das du mehr tun willst als du aktuell kannst. Du beherscht die Grundlagen mangelhaft bis garnicht, versuchst aber Dinge zu tun die auf eben diesen Grundlagen aufbauen. Auf lange Sicht wirst du mit diesem Vorgehen scheitern da du irgendwann nichtmehr weiter kommst und es gleichzeitig unmöglich wird dir zu helfen wenn du die Grundlagen nicht beherrscht.