Родительско-дочерняя реализация классов CDialog

Сценарий: я хочу использовать родительские методы в child. Можно ли создать решение с двумя диалоговыми классами, как показано ниже?

//Parent is created using class wizard(inherited from CDialog)
class CDlgParent : public CDialog//Child class created using class wizard(inherited from CDialog) and then
//changed the inheritance
class CDlgChild : public CDlgParent

-1

Решение

просто в качестве примера

class A
{
private:
void privateMethod(){}
protected:
void protectedMethod(){}
public:
void publicMethod(){}
};
class B : public A
{
void methodB()
{
//privateMethod();
protectedMethod();
publicMethod();
}
};

просто скопируйте это в свой код, и вы увидите, что он скомпилируется.
Если вы раскомментируете строку, она больше не будет компилироваться, выдавая такую ​​ошибку:

не может получить доступ к закрытому члену, объявленному в классе ‘A’

Таким образом, единственные методы, которые вы не можете использовать из B, которые наследуются от A, это закрытые методы, все остальные могут использоваться просто как обычно

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector