class BMW: public Car{ BMW() { this->setEngine<BMW_Engine>(); }};
void clear_input(){ std::wcin.clear(), std::wcin.ignore(std::numeric_limits<std::streamsize>::max(), L'\n'); assert(std::wcin); // <--- и о боже! наш двигатель снова работает!}