Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2338438
  • 博文数量: 2110
  • 博客积分: 18861
  • 博客等级: 上将
  • 技术积分: 24420
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-05 18:23
文章分类

全部博文(2110)

文章存档

2011年(139)

2010年(1971)

我的朋友

分类: C/C++

2010-09-30 10:55:28

 中派生类对基类成员的访问形式主要有以下两种:

  1、内部访问:由派生类中新增成员对基类继承来的成员的访问。

  2、对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问。今天给大家介绍在3中继承方式下,派生类对基类成员的访问规则。

  1、私有继承的访问规则

  当类的继承方式为私有继承时,基类的public成员和protected成员被继承后成为派生类的private成员,派生类的其它成员可以直接访问它们,但是在类的外部通过派生类的对象无法访问。基类的private成员在私有派生类中是不可直接访问的,所以无论是派生类的成员还是通过派生类的对象,都无法直接访问从基类继承来的private成员,但是可以通过基类提供的public成员函数间接访问。私有继承的访问规则总结如下:

  基类成员 private成员 public成员 protected成员

  内部访问 不可访问 可访问 可访问

  对象访问 不可访问 不可访问 不可访问

  2、公有继承的访问规则

  当类的继承方式为公有继承时,基类的public成员和protected成员被继承到派生类中仍作为派生类的public成员和protected成员,派生类的其它成员可以直接访问它们。但是,类的外部使用者只能通过派生类的对象访问继承来的public成员。基类的private成员在私有派生类中是不可直接访问的,所以无论是派生类成员还是派生类的对象,都无法直接访问从基类继承来的private成员,但是可以通过基类提供的public成员函数直接访问它们。公有继承的访问规则总结如下:

  基类成员 private成员 public成员 protected成员

  内部访问 不可访问 可访问 可访问

  对象访问 不可访问 可访问 不可访问

  3、保护继承的访问规则

  当类的继承方式为保护继承时,基类的public成员和protected成员被继承到派生类中都作为派生类的protected成员,派生类的其它成员可以直接访问它们,但是类的外部使用者不能通过派生类的对象访问它们。基类的private成员在私有派生类中是不可直接访问的,所以无论是派生类成员还是通过派生类的对象,都无法直接访问基类中的private成员。保护继承的访问规则总结如下:

  基类成员 private成员 public成员 protected成员

  内部访问 不可访问 可访问 可访问

  对象访问 不可访问 不可访问 不可访问

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