Почему защищенные члены в базовом классе недоступны в производном классе?защищенные члены недоступны в производных классах
class ClassA
{
public:
int publicmemberA;
protected:
int protectedmemberA;
private:
int privatememberA;
ClassA();
};
class ClassB : public ClassA
{
};
int main()
{
ClassB b;
b.protectedmemberA; // this says it is not accesible, violation?
//.....
}
TNX цзюаней, любую хорошую ситуацию, на которой предпочтительная защищенный модификатор? все еще не может получить его значение :( – WantIt
Я не могу придумать веские причины использовать защищенную переменную-член. Я видел использование защищенных функций, когда вы хотите разрешить производным классам использовать некоторые базовые функции класса, не делая эту функциональность общедоступной. Я бы сказал, используйте его, только если вы действительно знаете, что делаете! – juanchopanza