Witam, prosiłbym o poradę dotyczącą kodu.
W programie mam klasę bazową MapObject oraz klasę pochodną Wall. Dynamicznie alokuję pamięć dla wskaźnika typu MapObject tworząc tablicę dynamiczną.
MapObject **map = new MapObject*[16];
for( int i = 0; i < 16; i++ )
map[i] = new MapObject[20];
Następnie, wczytuję dane z pliku zawierającego liczby w macierzy 16x20 i jeśli liczba wczytana wynosi 1 to dla danych współrzędnych chcę przypisać wskaźnikowi map obiekt klasy Wall zamiast MapObject. Oczywiście MapObject jest klasą wirtualną. Jednak kiedy napisałem to po swojemu, po zakończeniu pętli każdy element tablicy był typu MapObject
Jak zrobić to przypisanie?
void map_generator::GetMapFromFile( void )
{
int type;
int i = 0;
int j = 0;
while( !map_file.eof() )
{
map_file >> type;
if( type == 1 )
{
// przypisanie map[j][i] obiektu typu Wall
}
i++;
if( !(i % 20))
{
i = 0;
j++;
}
}
}
z góry dziękuję za pomoc :)