Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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 Пример. Класс для работы со строками текста.

Date: 2015-11-15; view: 239; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию