Brauche Vector aus einer Klasse in einer anderen



  • Hi,

    folgendes Problem:

    class [b]MeineKlasse[/b]
    {
        private:
        std::vector<Foobar> [b]Foo[/b];
    };
    
    class MeineZweiteKlasse
    {
        [b]MeineKlasse Klasse[/b];
    
        void Tuwas()
        {
           Klasse...[b]Foo[/b]...
           // Brauche nun halt [b]hier[/b] den [b]Vector[/b] von MeineKlasse( Klasse )...
        }
    };
    

    Wie komme ich nun am besten an den Vector? Public? getVector? Ich brauche eigentlich nur den Zugriff auf den Vector um ihn zu durchlaufen. Wie würdet ihr das lösen? Würde mich über Anregungen und Tipps sehr freuen.

    Danke im Voraus 🙂

    Gruß
    HabeEineFrage...



  • in implementation von Tuwas() in eine seperate datei schreiben



  • class [b]MeineKlasse[/b]
    {
        private:
        std::vector<Foobar> [b]Foo[/b];
    };
    
    class MeineZweiteKlasse
    {
        [b]MeineKlasse Klasse[/b];
    
        void Tuwas()
        {
           Klasse...[b]Foo[/b]...
           foo.getVectorAt(index);
           // Brauche nun halt [b]hier[/b] den [b]Vector[/b] von MeineKlasse( Klasse )...
        }
    };
    


  • HabeEineAntwort schrieb:

    class [b]MeineKlasse[/b]
    {
        private:
        std::vector<Foobar> [b]Foo[/b];
    };
    
    class MeineZweiteKlasse
    {
        [b]MeineKlasse Klasse[/b];
    
        void Tuwas()
        {
           Klasse...[b]Foo[/b]...
           foo.getVectorAt(index);
           // Brauche nun halt [b]hier[/b] den [b]Vector[/b] von MeineKlasse( Klasse )...
        }
    };
    

    Hilft mir nicht weiter. Ich muss einfach einen Vector mit Iteratoren durchiritieren oder soll ich das so machen?

    // ...
    void TuWas()
    {
      for ( MeinTypedef::iterator It = Klasse.getVector()->begin(); It != Klasse.getVector()->end(); ++It )
      {
        // ... 
      }
    }
    // ...
    


  • ?

    class a
    {
    public:
        const std::vector<Foo>& get_vec() const { return m_foo; }
    private:
        std::vector<Foo> m_foo;
    };
    

    ...


Anmelden zum Antworten