Я правильно понимаю, что у нас при приватном наследовании, уровень приватных членов производного класса делится как бы на приватный и на приватный приватный. То есть при приватном наследовании, поле базового класса уходит в разряд приватных полей производного, если оно было в публичных у базового - к такому полю в производном классе мы можем обратиться через публичный метод производного. Поле базового класса уходит в разряд приватных приватных производного, если оно было приватным в базовом - к такому полю мы можем обратиться так: публичные методы производного -> приватные методы от унаследованные от базового -> (на приватном приватном уровне) переменная унаследованная от базового ( которая там была приватной)?
Соответственно если создать иерархию N классов одним приватным наследованием, то можно иметь N подуровней приватного уровня в крайнем потомке))
#include <iostream>
using namespace std;
class A{
public:
A(){ch = 'A'; a = 100;}
void showA(){
cout << ch << endl;
}
int a;
private:
void showC(){
cout << "C" << endl;
}
char ch;
};
class B : A{
public:
void showB(){
showA();
}
void showZ(){
cout << a << endl;
}
// void showCh(){
// cout << ch << emdl;
// }
private:
};
int main()
{
B obj;
obj.showZ();
obj.showB(); // output: A
//obj.showCh(); // error
return 0;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В программе есть компоненты, которые отвечают за определенный функционалКомпонент реализован при помощи MVC, (классы Model, Controller, View)
Есть динамическая библиотека собранная с отладочной информацией и исходники к нейПри отладке приложения которое использует эту библиотеку...
Ребят, помогите ,пожалуйста, преобразовать textbox в __int64Как правильно это сделать?