Ошибки в момент компиляции можно избежать, но код конечно правильно
работать не будет. Однако это не говорит о плохости так как умелый
программист всегда найдет 1000 способов вышибить себе мозги. Как пример реализации такого: Класс предок TLed имееет виртуальную фунцию On(), его экземпляр использует сущность работающую с RS-485. Класс потомок TLed использует в своей функции On() уминаемую выше cущность с RS-485. Все успешно компилируется, но не работает.