VC++, Tablica klas, Visual Studio C++

0

Witam, męczę się już nad zrobieniem tablicy klas sześcioelementowej, mam klasę abstrakcyjna Pokarm, i od niej dziedziczą klasy Salata, Pajak, Szczur. W tab[0] maiłaby być na przykład szczur, w tab[1] pająk itp
Wiem jak zrobić to w 'normalnym' c++, ale w VC++ ten sposób nie działa.

Doszedłem tylko do czegoś takiego:

private: array<Pokarm> tablica_pokarmow;

to program przepuszcza (nie wiem czy jest poprawne), ale nie wiem jak dalej umieścić w tej tablicy te klasy.

0

Zobacz jak powinna wyglądać taka tablica: http://msdn.microsoft.com/en-us/library/ts4c4dw6(v=vs.80).aspx
Poza tym tablica jest obiektów, a nie klas. A obiekty w tablicy inicjalizujesz normalnie jak wszystkie inne obiekty, czyli dostęp do indexu i potem tworzysz obiekt.

0

Dzięki za pomoc.
Zamieszczam rozwiązanieź może komuś się przyda:

array<Pokarm > tablica_pokarmow = gcnew array<Pokarm ^>(6);
tablica_pokarmow[0]=gcnew Zaba();
tablica_pokarmow[1]=gcnew Kurczak();
tablica_pokarmow[2]=gcnew Mucha();
tablica_pokarmow[3]=gcnew Szczur();
tablica_pokarmow[4]=gcnew Pajak();
tablica_pokarmow[5]=gcnew Salata();

0

Można prościej:

array<Pokarm^>^ tablica_pokarmow = gcnew array<Pokarm^> {
    gcnew Zaba(),
    gcnew Kurczak(),
    gcnew Mucha(),
    gcnew Szczur(),
    gcnew Pajak(),
    gcnew Salata()
};

a począwszy od VS2010, nawet tak:

auto tablica_pokarmow = gcnew array<Pokarm^> {
    gcnew Zaba(),
    gcnew Kurczak(),
    ... itd.
};

1 użytkowników online, w tym zalogowanych: 0, gości: 1