程序猿c++(3) 访问权限

  • A+
所属分类:C++

私有成员变量

Private是针对类的,而不是对象,同一个类的对象之间是可以互相访问私有成员变量的,子类都无法直接访问父类的private成员。如下图代码,p[0]和b都同为类A的对象,将b作为参数传给p[0]对象的函数g,在函数g中,实现了对b的私有成员i的访问,这说明,c++中,权限是针对类而言的。

程序猿c++(3) 访问权限

权限限制时间

权限的限制只是在代码的编译时期,这意味着,只有编译器会对访问权限进行检查,而到了运行时刻,不会再对权限进行检对查。

Friends

如果A声明了B是A的friend,那么,B便可以访问A的私有成员

程序猿c++(3) 访问权限

g函数、Y::f函数、Z的所有成员、h函数对X的私有成员i具有访问权限。

Struct和Class区别

如果没有对成员变量或者函数显式的声明权限属性的时候,Struct默认为public,Class默认为private

private、protected、public使用tips

  • private:成员变量都是paivate类型,哪怕是子类都无法直接触碰父类的成员
  • public:需要给所有人用的函数使用public修饰
  • protected:留一些protected的函数给子类,以方便子类对private成员变量进行访问,这些函数只留给子类,别人无法使用
Qt大课堂-QtShare

发表评论

您必须登录才能发表评论!