Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Public Librarian{ }; то объект данного класса будет содержать объект базового класса Person дважды n Возможную неоднозначность можно разрешить, явно указав класс: StudentLibrarian* sp; // ошибка – неоднозначное обращение, // непонятно, к какому именно экземпляру // типа Person обращаться: sp->Person::name(); // правильное обращение sp->Student::Person::name(); n Иногда необходимо, чтобы объект базового класса содержался в производном один раз. Для этих целей применяется виртуальное наследование. Виртуальное наследование n Базовый класс можно объявить виртуальным базовым классом, используя запись: class Student: virtual Person { }; class Librarian: virtual Person { };
n Гарантировано, что объект виртуального базового класса будет содержаться в объекте выведенного класса один раз. Интерфейс и состояние объекта n В С++ имеются богатые возможности, позволяющие следить за тем, к каким частям класса можно обращаться извне, т.е. при использовании объектов, и какие части являются «внутренними», необходимыми лишь для реализации интерфейса. n Определение класса можно поделить на три части – внешнюю, внутреннюю и защищенную. n Внешняя часть предваряется ключевым словом public, после которого ставится двоеточие. n Внешняя часть – это определение интерфейса. n Методы и атрибуты, определенные во внешней части класса, доступны как объектам данного класса, так и любым функциям и объектам других классов. n Определением внешней части мы контролируем способ обращения к объекту. n Внутренняя и защищенная части класса доступны только при реализации методов этого класса. Внутренняя часть предваряется ключевым словом private, защищенная – ключевым словом protected. n В большинстве случаев атрибуты во внешнюю часть класса не помещаются, поскольку они представляют состояние объекта, и возможности их использования и изменения должны быть ограничены. n Пример. Класс для работы со строками текста.
|