Если Turtle
является абстрактным типом данных, то вы не можете объявить переменную этого типа.Но вы можете объявить переменную, тип данных которой является указателем или ссылкой на этот тип.
Используйте ссылку на Turtle
в сигнатуре метода:
void do_stuff(Turtle &T)
Динамический типфактического параметра, который передается в do_stuff
, никогда не может иметь тип Turtle
, потому что он является абстрактным, но может иметь тип, производный от Turtle
(если производный класс также не является абстрактным).