学习c++这么久,一直没有区别开来protected和private;
罪过
今天就来区分他俩;
若类没有被继承,那么,他俩是一样的,只能够被累的成员函数访问。
若是被公有继承,private成员只能通过基类的成员函数访问;protected成员可以被子类的成员函数直接访问(唯一的区别),比如说 :
class base{
int x; //默认是privated的类型。
protected:
int c;
public:
..........
}
class inherit : public base
{
public:
int get()
{
c=5; //可以直接使用访问
cout<<c<<endl;
}
};
int main()
{
.............
inherit it;
it.c=6; //同样是错误的,和私有继承是一样的,不能用子类的对象访问。
return 0;
}