C
Chippo
Gast
Oh Mann, wo fange ich an?
Ich bin blutiger Anfänger was C++ angeht. Habe zwar einen Dozenten, der allerdings sehr sprunghaft beim erklären ist und nur einmal in der Woche aufkreuzt. Um sich dann gleichzeitig mit Netzwerkern und Kaufleuten rumzuplagen. Und jetzt komme ich als Softwareentwickler noch dazu. Armer Kerl.
Jedenfalls versuche ich erst einmal das Problem zu skizzieren und hänge denn Code noch ein. Schon mal im Voraus: Wer lacht, stirbt!

Das Programm besteht aus denn Teilen Main, Eingabe, Ausgabe, Daten und Verarbeitung (der letzte Part ist zur Zeit noch unwichtig) und ihren Headern.
Eingabe und Ausgabe sind klassenlos während Daten Klasse ist und entsprechend anzusprechen sind. E/A sind vor allem deswegen klassenlos, weil ich Probleme hatte diese Teil von Main aus als Klasse anzusprechen.
Über Main werden E/A und Verarbeitung einzeln aufgerufen, Main dient also als Hub.
Wie später aus dem Code zu erlesen geht es um die Eingabe und Verarbeitung von IPs bzw. Subnet-Adressen. Für IP und SN wird die gleiche Eingabe-Routine verwendet. Die Unterscheidung beim übergeben der IPs in die Datenbank wird über ein Parameter entschieden der von Main mit dem Funktions/Methodenaufruf gesendet wird.
Jetzt zum Problem (stellt euch vor, ich komme zum Punkt^^):
Ich kann lediglich nur von Eingabe auf die Datenbank (also Daten) zugreifen. Schreiben und Lesen ist kein Problem. Von daher die Tunnel die ins privat führen sind funktionstüchtig. Über Ausgabe und selbst von Main aus komme ich nicht an die Daten ran...
Mir ist eigentlich klar, warum. Und andererseits auch nicht.
Das Problem liegt in der Zeile, in der ich von Daten die Variablen definiere:
Also Daten ip1, ip2, ip3, ip4; (IPx sind die übrigens die Oketten).
Das Problem ist nur, einerseits sind es doch nur Labels, damit der Compiler weiß was wozu gehört. Daher ich habe es schon mal mit Affen versucht, geht trotzdem
Aber zusätzlich ist die Zuordnung nicht global. Was auch dumm wäre weil es die Haupteigenschaft von Klassen unterminieren würde. Andererseits muss ich in jedem Programmteil diese Definieren erneut durchführen um überhaupt von dort aus (bsp. Ausgabe) auf die Datenabruffunktionen zugreifen zu können).
Technisch ist das weniger ein Problem, da - sowie ich das verstehe -diese Definition nur die Voraussetzung schafft, damit Daten überhaupt fließen können, ohne Wertung und überhaupt Daten fließen dürfen.
Damit Eingabe.cpp überhaupt funktioniert wurde die Definierung global vollzogen (oder zu mindestens in Rahmen von Eingabe.cpp. Funktioniert auch ausgezeichnet, nur eben nur von dort.
Die eigentlich Frage ist, wie bekomme ich denn Compiler dazu, zu begreifen das Daten theoretisch von überall aufrufbar ist, aber praktisch nur wenn ich es sage?
Um das Problem mal mit Hilfe Auto (es sind immer Autos...
) zu versinnbildlichen.
Mein Auto kann bremsen, aber nur wenn ich zuvor eine scharfe Rechtskurve gefahren bin...
und da gibt es Leute die sich nur über verschobene Fußmatten aufregen.
Ich habe schon versucht selbst eine Lösung zu finden. Mit Hilfe von Try and Fail, stundenlanges googlen (wobei nicht auszuschließen ist, das ich nichts fand, da ich immer noch Probleme habe die Frage zu formulieren), meinen Dozenten und dessen eigens gewartete Ilias.
Die Lernplattform an sich ist nicht schlecht, aber wie schon angedeutet, wie mein Dozent erklärt, so schreibt er auch. Sehr sprunghaft.
Ilias ist ein schöner Name, aber Odyssee würde mehr zutreffen.
Ich schieb jetzt mal denn Quelltext rein. Das Programm wurde über die Entwicklerumgebung MS Visual Studio 2010 geschrieben.
Mist. Mir wäre lieber denn Code über diese Spoilerfunktion hier einzuhängen. Sonst bekommt der werte Leser einen Scroll-Koller.
Wie macht man das? Dumme Frage, aber ich weiß es wirklich nicht
Ich bin blutiger Anfänger was C++ angeht. Habe zwar einen Dozenten, der allerdings sehr sprunghaft beim erklären ist und nur einmal in der Woche aufkreuzt. Um sich dann gleichzeitig mit Netzwerkern und Kaufleuten rumzuplagen. Und jetzt komme ich als Softwareentwickler noch dazu. Armer Kerl.
Jedenfalls versuche ich erst einmal das Problem zu skizzieren und hänge denn Code noch ein. Schon mal im Voraus: Wer lacht, stirbt!


Das Programm besteht aus denn Teilen Main, Eingabe, Ausgabe, Daten und Verarbeitung (der letzte Part ist zur Zeit noch unwichtig) und ihren Headern.
Eingabe und Ausgabe sind klassenlos während Daten Klasse ist und entsprechend anzusprechen sind. E/A sind vor allem deswegen klassenlos, weil ich Probleme hatte diese Teil von Main aus als Klasse anzusprechen.
Über Main werden E/A und Verarbeitung einzeln aufgerufen, Main dient also als Hub.
Wie später aus dem Code zu erlesen geht es um die Eingabe und Verarbeitung von IPs bzw. Subnet-Adressen. Für IP und SN wird die gleiche Eingabe-Routine verwendet. Die Unterscheidung beim übergeben der IPs in die Datenbank wird über ein Parameter entschieden der von Main mit dem Funktions/Methodenaufruf gesendet wird.
Jetzt zum Problem (stellt euch vor, ich komme zum Punkt^^):
Ich kann lediglich nur von Eingabe auf die Datenbank (also Daten) zugreifen. Schreiben und Lesen ist kein Problem. Von daher die Tunnel die ins privat führen sind funktionstüchtig. Über Ausgabe und selbst von Main aus komme ich nicht an die Daten ran...
Mir ist eigentlich klar, warum. Und andererseits auch nicht.
Das Problem liegt in der Zeile, in der ich von Daten die Variablen definiere:
Also Daten ip1, ip2, ip3, ip4; (IPx sind die übrigens die Oketten).
Das Problem ist nur, einerseits sind es doch nur Labels, damit der Compiler weiß was wozu gehört. Daher ich habe es schon mal mit Affen versucht, geht trotzdem

Aber zusätzlich ist die Zuordnung nicht global. Was auch dumm wäre weil es die Haupteigenschaft von Klassen unterminieren würde. Andererseits muss ich in jedem Programmteil diese Definieren erneut durchführen um überhaupt von dort aus (bsp. Ausgabe) auf die Datenabruffunktionen zugreifen zu können).
Technisch ist das weniger ein Problem, da - sowie ich das verstehe -diese Definition nur die Voraussetzung schafft, damit Daten überhaupt fließen können, ohne Wertung und überhaupt Daten fließen dürfen.
Damit Eingabe.cpp überhaupt funktioniert wurde die Definierung global vollzogen (oder zu mindestens in Rahmen von Eingabe.cpp. Funktioniert auch ausgezeichnet, nur eben nur von dort.
Die eigentlich Frage ist, wie bekomme ich denn Compiler dazu, zu begreifen das Daten theoretisch von überall aufrufbar ist, aber praktisch nur wenn ich es sage?
Um das Problem mal mit Hilfe Auto (es sind immer Autos...

Mein Auto kann bremsen, aber nur wenn ich zuvor eine scharfe Rechtskurve gefahren bin...
und da gibt es Leute die sich nur über verschobene Fußmatten aufregen.
Ich habe schon versucht selbst eine Lösung zu finden. Mit Hilfe von Try and Fail, stundenlanges googlen (wobei nicht auszuschließen ist, das ich nichts fand, da ich immer noch Probleme habe die Frage zu formulieren), meinen Dozenten und dessen eigens gewartete Ilias.
Die Lernplattform an sich ist nicht schlecht, aber wie schon angedeutet, wie mein Dozent erklärt, so schreibt er auch. Sehr sprunghaft.
und"Ich werde jetzt darauf nicht näher eingehen"
sind sehr häufig anzutreffen."das warum muss Sie nicht interessieren"
Ilias ist ein schöner Name, aber Odyssee würde mehr zutreffen.
Ich schieb jetzt mal denn Quelltext rein. Das Programm wurde über die Entwicklerumgebung MS Visual Studio 2010 geschrieben.
Mist. Mir wäre lieber denn Code über diese Spoilerfunktion hier einzuhängen. Sonst bekommt der werte Leser einen Scroll-Koller.
Wie macht man das? Dumme Frage, aber ich weiß es wirklich nicht
