C++关键字protected的作用详解 |
您所在的位置:网站首页 › protect和protection有什么区别 › C++关键字protected的作用详解 |
类的访问权限
类的访问权限有三种: public 公共权限: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问protected 保护权限: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问private 私有权限:只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问。三种权限的区别: public:可以被任意实体访问protected:只允许本类及子类的成员函数访问private:只允许本类的成员函数访问继承 继承的方式有三种: 公共继承保护继承私有继承继承后的属性变化: 使用private继承,基类的所有方法在子类中变为private;使用protected继承,将基类中public成员变为子类的protected成员,其它成员的访问权限不变;使用public继承,基类中的方法属性不发生改变;保护成员的作用: 假如基类Base中有一个成员b,设计要求隐藏这个成员,但是在派生类的成员函数中又经常访问到。如何设计呢? 选择public,那么其安全性受到威胁。选择private,派生类无法访问这个数据,只能间接访问。所以我们有了protected!像上述b这种,出于隐藏的目的不能设为公有public,但又需要在派生类的成员函数中经常访问到的基类成员,将它们设置为保护成员,既能起到隐藏的目的,又避免了派生类成员函数要访问它们时只能间接访问所带来的麻烦。 保护成员的可访问范围比私有成员大,比公有成员小。能访问私有成员的地方都能访问保护成员。 保护成员扩大的访问范围表现在:基类的保护成员可以在派生类的成员函数中被访问。
示例: #include using namespace std; class Base{ public: int a; protected: int b; private: int c; }; class son:public Base{ void show(){ cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |