加载中…
个人资料
myplan
myplan
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,065
  • 关注人气:8
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

c++中protect,public,private 的区别

(2013-05-14 17:35:04)
分类: C十十

理解很重要:

 

-----------------------

可见protected 和privated都是针对函数定义来说的在外部程序中都不可被调用。

而public表示可以被外部调用---即---对象.方法
------------------------

原来我对protect的理解有误。
声明为protect的函数,能在子类(中定义子类的成员函数的时候)中被访问。
也就是说,
你在子类里定义一个函数,你可以直接调用那个protected的函数。

但是在外部,即是你用子类也不能调用这个protected函数

------------------------

以C++为例:
 
public:  数据成员和函数成员可在成员函数,友元,继承类中直接使用。亦可以作为接口,供类的用户使用(即 A a,
a.change())。
 
private:  数据成员和函数成员,只能在  类成员和友元 中访问。不能被继承类访问(无论何种继承),虽然作为继承
类的私有成员,但 在 使用过程中,是通过调用基类的构造函数 完成参数的传递的。继承类不能访问基类的私有成员。
 
protect:  在基类中用法同private,基类对象不能访问。在派生类中,用法同基类的public, 其成员可被其继承类对象访问使用。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有