auf Vektor einer anderen Klasse zugreifen



  • Hallo,

    ich möchte aus einer Klasse auf die Elemente von Vektoren einer anderen Klasse zugreifen.

    Erstellt sind sie im public-Bereich:

    class teilnehmer {
    	public:
    		// Variablen erstellen
    		int anzahlTeilnehmer;
    
    		// dynamische Vektoren erstellen
    		vector<string> vornamen;
    		vector<string> namen;
    

    Wenn ich nun (per Konstruktor habe ich ein Objekt teilnehmerListe erzeugt) aus einer anderen Klasse auf diese Vektoren zugreifen will, so geht das nicht.
    Ich dachte ja, per teilnehmerListe.vornamen...... würde das gehen - ist aber nicht so. Auch nicht, wenn ich die Headerdatei der Klasse in der die Vektoren erstellt werden in die Klasse, von der ich zugreifen möchte, einbinde.

    Ideas?

    Danke! 👍



  • Ist zwar wieder mal nicht MFC, aber funktioniert doch problemlos:

    #include "teilnehmer.h"
    ...
    
    teilnehmer tn;
    tn.vornamen.push_back( "otto" );
    cout << tn.vornamen.front() << endl;
    

    Auch nicht, wenn ich die Headerdatei der Klasse in der die Vektoren erstellt werden in die Klasse, von der ich zugreifen möchte, einbinde.

    Wie sollte es denn ohne funktionieren?



  • Grüß dich,

    vielen Dank für deine Antwort!
    Das mag funktionieren, aber ich meinte das etwas anders - habe mich nicht korrekt genug ausgedrückt, entschuldige! 🙄

    Ich habe bereits in der main.cpp ein Objekt durch "teilnehmer teilnehmerListe" erzeugt, in dem sich jene Vektoren samt den Daten befinden, auf die ich aus der Kurs-Klasse zugreifen möchte.
    Hast du da auch eine Idee für?

    Gruß & einen guten Start in den Tag euch allen,
    Vektorian.



  • Dann musst Du eine Referenz oder ienen Zeiger übergeben an die entsprechende Funktion, die diese nutzen will.

    Ich verschiebe das mal, in das C++ Forum...



  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++ (auch C++0x, bzw. C++11) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Okay, danke dir.
    Jetzt weiß ich, nach was ich suchen muss. 💡

    Tut mir Leid, dass ich den Thread um falschen Unterforum erstellt habe.

    Grüße
    Vektorian



  • Vektorian schrieb:

    Erstellt sind sie im public-Bereich:

    Das willst du nicht. Wirklich nicht. Zerstört Kapselung und so. Es sei denn deine Klasse ist ein reines Datenbündel ohne Methoden usw.

    Schau dir am Besten ein paar Bücher zur sauberen C++-Entwicklung an, bevor du dich mit Frameworks wie MFC beschäftigst. (Links gibts diverse in der FAQ)


Anmelden zum Antworten