🏛️
C++ — ООП
Классы, наследование, полиморфизм, инкапсуляция, virtual
32 вопросов · 32 показано
EasyЧто такое инкапсуляция и зачем она нужна?ООПMediumЧем наследование (inheritance) отличается от композиции (composition)?ООПMediumЧем public, private и protected наследование отличаются?наследованиеMediumКак работают виртуальные функции (virtual) и таблица vtable?virtualполиморфизмMediumЧто такое object slicing?ООПUBEasyЧто такое pure virtual функция и абстрактный класс?ООПMediumЧем интерфейс (interface) в C++ отличается от Java/C#?ООПHardЧто такое diamond problem и как C++ её решает?множественное наследованиеHardЧем множественное наследование полезно и какие опасности?множественное наследованиеHardЧто такое CRTP (Curiously Recurring Template Pattern)?CRTPшаблоныEasyЧем конструктор копирования отличается от оператора присваивания?copyMediumКак работает конструктор с initializer list?конструкторMediumЧем explicit конструктор полезен?конструкторMediumЧто такое delegating constructor?конструкторEasyЧем default и delete конструкторы (= default, = delete)?конструкторEasyЧто такое static-члены класса и как их использовать?staticMediumЧем static polymorphism отличается от dynamic polymorphism?полиморфизмMediumЧто такое virtual destructor и когда он нужен?virtualдеструкторHardПочему вызов virtual функции в конструкторе/деструкторе ведёт себя неожиданно?virtualконструкторEasyЧто такое friend-класс и friend-функция?friendMediumЧто такое method hiding и как его избежать?ООПHardЧто такое covariant return type?ООПHardЧто такое пустой базовый класс (empty base) optimization?ООПоптимизацияMediumЧем polymorphic класс отличается от non-polymorphic?ООПMediumЧто такое pImpl (pointer to implementation) идиома?pImplbest practicesHardЧто такое virtual base class?множественное наследованиеMediumЧем final полезен для девиртуализации?finalоптимизацияHardЧто такое SBO/std::variant как альтернатива полиморфизму?variantEasyЧто такое abstract class vs concrete class?ООПHardЧто такое NVI (Non-Virtual Interface) идиома?best practicesHardЧто такое mixin и как его реализовать в C++?mixinEasyЧем override обязывает и какие ошибки ловит?override