Изпълнението на конструктори и деструктори за обекти от произволен клас

Ако базовият клас в 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 не        не не        не не        не

Достъп на член-функции и на обекти на производния клас до компонентите на базовия клас

Сходни статии:

  1. Изпълнението на C++ конструктори и деструктори за обекти от произволен клас Задача на C++ за конструктори и деструктори от произволен клас Да се дефинират класовете People, Student и PStudent, така че инициализиращите действия да се изпълняват от подходящи конструктори. Разрушителните действия...
  2. Класова йерархия в С++ В C++ всеки програмист може да дефинира и обработва свои собствени типове данни. Тези потребителски дефинирани данни се обозначават като класове. Класът се състои от различни типове данни (свойства), обединени...
  3. Релизация на херметизацията в MS Visual C++ Цели на херметизацията да скрие подробностите на реализацията (абстракция) да обедини всички необходими физически и функционални характеристики, за да може обектът правилно да изпълнява предназначението си, т. е. да съвместява...
  4. Пример за обектно ориентирана реализация на свързан стек Ще се възползваме от тясната връзка между св. списъци и стекове чрез повторно използване на класа на списъците. Ще приложим 2 разновидности на повторното използване. Отначало ще реализираме класа на...
  5. Обектно-ориентирано проектиране (ООП). Правила за обектно-ориентирано проектиране Проектиране на класове и обекти ПЪРВИ ЕТАП ОТДЕЛЯНЕ НА КЛАСОВЕТЕ И ОБЕКТИТЕ ОТ ПО НА ЗАДАЧАТА Класове и обекти могат да бъдат: реални неща от програмиране на обекти абстракции в...

Студио за уеб дизайн услуги, изработка на сайтове, SEO оптимизация и Интернет реклама Seven Web Design представя своите професионални уеб дизайн умения на високо ниво. Seven Web Design е продукт на Уеб Дизайн България Груп ООД ®
Comments are closed.