Просьба предоставить простое решение для ограничения наследования в C++.Есть ли способ ограничить наследование?
ответ
Если вы действительно не хотите наследовать класс, тогда просто делайте его переменные-члены и функции-члены частными, если другой класс пытается наследовать его, они не могут иметь доступ к своим функциям и переменным в любом случае. Но использование final - лучший вариант
Да, действительно, если вы не хотите, чтобы у вас был выход из класса, напишите его так, чтобы он ничего не делал полезным. Никто не сможет извлечь из этого никого, никто не хочет ** извлекать из него. –
Да! На C++ 11, есть final
спецификатора вы можете использовать, чтобы указать, что класс не может быть унаследован от:
class DontInheritMe final {
// This class cannot be inherited from.
};
Если у вас есть опыт в Java, то final
ключевого слова в C++ в этом случае работает так же было как final
классов в Java.
Будьте в курсе, стоит упомянуть, что этот спецификатор также может быть помещен в виртуальный метод для предотвращения переопределений в производных классах. – HolyBlackCat
- 1. Есть ли способ ограничить NSNotification?
- 2. Есть ли способ предотвратить «префиксное наследование»?
- 3. Есть ли способ ограничить/результирующие наборы
- 4. Есть ли способ ограничить Git редким оформлением?
- 5. Есть ли способ ограничить левое внешнее соединение?
- 6. Есть ли способ ограничить ресурсы, выделенные Сервисом?
- 7. Есть ли способ ограничить ограничение использования плунжера?
- 8. Есть ли способ ограничить регистрацию в firebase
- 9. Множественное наследование - есть ли выход?
- 10. Есть ли наследование правильный подход
- 11. Есть ли способ обработать наследование с помощью SimpleSchema?
- 12. Есть ли способ остановить автоматическое наследование DataContext в Silverlight?
- 13. java: статические методы и наследование. Есть ли способ обойти это?
- 14. есть способ ограничить поиск только * .py файлами
- 15. Есть ли способ ограничить ширину текста в UITextView
- 16. Есть ли способ «ограничить» результат с помощью ELOQUENT ORM Laravel?
- 17. Есть ли способ ограничить количество символов в UITextfield до 5?
- 18. R- Есть ли способ ограничить правила априори лифтом?
- 19. Есть ли способ ограничить количество детей в firebase?
- 20. Есть ли способ ограничить размер мобильных видовых экранов?
- 21. Есть ли способ ограничить область зависания свойства в CSS?
- 22. Есть ли способ ограничить MarkLogic поиска по конкретной версии документа
- 23. Есть ли способ ограничить создание поля модели в Rails?
- 24. Есть ли способ ограничить экземпляры возможного типа продукта?
- 25. Есть ли способ ограничить область переменных в ERB (Ruby)?
- 26. Есть ли способ ограничить просмотр Gmail только добавленными сообщениями?
- 27. в ESE (JetBlue) есть ли способ ограничить поиск несколькими ключами?
- 28. Есть ли способ ограничить максимальный размер на контейнере STL :: map?
- 29. Есть ли способ ограничить количество выполняемых процессов R
- 30. Есть ли способ ограничить видимость закрытого ключа на Android?
Кроме того, ваш вопрос слишком широк. Что означает «ограничение»? Наверное, вы уже знаете наследование на C++, так почему вы не объяснили, каким образом стандартные модификаторы вам недостаточны? –
Google 'final' ключевое слово. – HolyBlackCat