Базовый класс:
ref class CVagon{ //Класс вагон - базовый
public:
//...
virtual char GetTip() {return 'O';};
//...
};
Первый наследник
ref class CVagonPas:public CVagon{ //Класс пассажирский вагон
public:
//...
char GetTip()new;
//...
};
Второй наследник
ref class CVagonSlug: public CVagon{ //Класс служебный вагон
public:
//...
char GetTip()new;
//...
};
В общем ясно, что возврат в GetTip() зависит от того какой класс перед нами здесь:
List<CVagon^> Vagons;
В C++ все было верно: хоть и указан базовый класс CVagon, возврат был от нужного наследника (который и пихали в список).
А сейчас бред какой-то, возврат только от предка (CVagon), хотя оный в список вообще не помещается на протяжении программы.
Вопрос: Почему?