Изпълнението на конструктори и деструктори за обекти от произволен клас
Ако базовият клас в C++ е деклариран като protected в производния клас, private компонентите му се наследяват като private, а public и protected – като protected.
Пример: Ако
class base class der3 : protected base
{private: int b1; {private: int d1;
protected: int b2; protected: int d2;
public: int b3(); public: int d3();
}; };
можем да си мислим, че der3 е клас от вида:
class der3
{private:
int b1;
int d1;
protected:
int b2;
int d2;
int b3();
public:
int d3();
};
Наследените компоненти в C++ обаче се различават от декларираните в производния клас по правата за достъп. Производният клас има пряк достъп до компонентите, декларирани като public и protected, но няма пряк достъп до декларираните като private в базовия клас. Достъпът до private компонентите на базовия клас се извършва чрез неговия интерфейс.
Таблица 2 показва прекия достъп на член-функции на производния клас (ПД) и външния достъп на производния клас (ВД) до компонентите на базовия клас (class).
| компонента на базов клас | производен клас с атрибут public
ПД ВД |
производен клас с атрибут private
ПД ВД |
производен клас с атрибут protected
ПД ВД |
| Public | да да | да не | да не |
| Protected | да не | да не | да не |
| Private | не не | не не | не не |
Достъп на член-функции и на обекти на производния клас до компонентите на базовия клас
Сходни статии:
- Изпълнението на C++ конструктори и деструктори за обекти от произволен клас Задача на C++ за конструктори и деструктори от произволен клас Да се дефинират класовете People, Student и PStudent, така че инициализиращите действия да се изпълняват от подходящи конструктори. Разрушителните действия...
- Класова йерархия в С++ В C++ всеки програмист може да дефинира и обработва свои собствени типове данни. Тези потребителски дефинирани данни се обозначават като класове. Класът се състои от различни типове данни (свойства), обединени...
- Релизация на херметизацията в MS Visual C++ Цели на херметизацията да скрие подробностите на реализацията (абстракция) да обедини всички необходими физически и функционални характеристики, за да може обектът правилно да изпълнява предназначението си, т. е. да съвместява...
- Пример за обектно ориентирана реализация на свързан стек Ще се възползваме от тясната връзка между св. списъци и стекове чрез повторно използване на класа на списъците. Ще приложим 2 разновидности на повторното използване. Отначало ще реализираме класа на...
- Обектно-ориентирано проектиране (ООП). Правила за обектно-ориентирано проектиране Проектиране на класове и обекти ПЪРВИ ЕТАП ОТДЕЛЯНЕ НА КЛАСОВЕТЕ И ОБЕКТИТЕ ОТ ПО НА ЗАДАЧАТА Класове и обекти могат да бъдат: реални неща от програмиране на обекти абстракции в...