VC++中的public,private,protected的区别,说得通俗点

来源:百度知道 编辑:UC知道 时间:2024/06/23 12:03:24
关键老是弄不明,private和protected区别,书上说得太模糊了
还有基类的保护成员有什么用的 ,那个谁我可没问你friend啊,以后别乱答 ,这家伙字多易懂选他啦

public:声明方法和属性可以被随意访问。
Protected:声明的方法和属性只能被类本身和其继承子类访问。
private:只能被定义属性和方法的类访问。

private 是完全私有的,只有当前类中的成员能访问到.
protected 是受保护的,只有当前类的成员与继承该类的类才能访问.

protected的访问权介于public和private之间,实际上三者的区别就是权限问题,private和protected区别主要体现在其继承类的访问权限上,这些你可以自己编写一个程序,写个类,编译一下你就很清楚他们权限的区别了。

私有成员private member
只能被成员函数和类的友元访问
实行信息隐藏的类把其数据成员声明为private

被保护成员protected member
对派生类derived class 就像public 成员一样
对其他程序则表现得像private

public : 公共场所,大家都可以自由进出
protected : 我的家,我和我的子女(注意不包括我的父母)才有钥匙
private : 我的房间,只有我自己有钥匙

class A
{
protected:
int x1;
private:
int x2;
}
class B:public A
{
//B内部能访问x1 但不能访问x2
}