C 中public、private和protected访问属性的区别
作者:admin 来源:新浪爱问 日期:2008-04-13
电脑问题网给出的最佳答案
private(私有成员) ,protected(保护成员),public(公有成员)是C 的关键字.控制C++类中的访问权限,直到遇到下一个关键字为止。
在本类中,protected与private是相同的,但protected可以被继承,而private却不行。
只有公有成员才能在类的外部访问。如
class A
{
private:
int a;
public:
int b;
protected:
int c;
};
A ca;
ca.a //error
ca.b // ok
ca.c //error
class B :public A
{
public:
int d;
}
B cb;
cb.b; //ok
cb.c //error。虽然c也是B的成员,但c在被继承的时候变成私有或者受保护的成员了。
其他回答
public是三个属性中最灵活也最不安全的一个,用public继承的类,基类中的可见行为和protected方法和属性作为public方式使用
protected继承的是可见行为和protected作为protected使用并可以用于派生类中,
private将继承的public和protected属性的东西全部作为private使用,用此方式是为了达到对象保护的目的 用private和protected声明的不能将子类对象转化为基类对象只有将类继承声明为public才可以这就达到了面向对象程序设计中的数据封装