Chinaunix首页 | 论坛 | 博客
  • 博客访问: 478546
  • 博文数量: 285
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 629
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-14 17:53
个人简介

相信自己,快乐每一天

文章分类

全部博文(285)

分类: C/C++

2014-08-25 10:55:28

第一:private,public,protected的访问范围:
 
private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问.
protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问
public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问
注:友元函数包括两种:设为友元的全局函数,设为友元类中的成员函数

第二:类的继承后方法属性变化:

使用private继承,父类的所有方法在子类中变为private;
使用protected继承,父类的protected和public方法在子类中变为protected,private方法不变;
使用public继承,父类中的方法属性不发生改变;
 
 

水平访问:声明了某类的一个对象,访问其成员函数和数据成员;一般只有public区(不含protected区!)的成员函数和数据成员,可以被水平访问。

垂直访问:一个类从某个基类派生,派生类访问基类的成员函数和数据成员;一般只有public和protected区的成员函数和数据成员,可以被垂直访问。

再次提到:可以提供访问行为的主语为“函数”。类体内的访问没有访问限制一说,即private函数可以访问public/protected/private成员函数或数据成员,同理,protected函数,public函数也可以任意访问该类体中定义的成员public继承下,基类中的public和protected成员继承为该子类的public和protected成员(成员函数或数据成员),然后访问仍然按类内的无限制访问。

对于类域范围内,成员函数访问无所谓访问限制。对于继承情况下的基类private成员,在派生类中仍然继承了下来,只不过它不能直接访问,即使在类里也不行,更不用说是类对象了。

 
 
阅读(507) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~