码迷,mamicode.com
首页 > 其他好文 > 详细

类的继承

时间:2016-05-22 18:09:31      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

  • 类可以继承class或struct:
  1. 继承class时,默认继承方式是private
  2. 继承struct时,默认继承方式是public
  • 继承方式(private成员是无法被继承的):
  1. public继承:继承了父类的public和protected成员,并保留的可见性
  2. protected继承:继承了父类的public和protected成员,并将他们的可见性改为protected
  3. private继承:继承了父类的public和protected成员,并将他们的可见性改为private
技术分享
 用表格的方式更加直观
继承方式\成员可见性 public protected private
public public protected 无法继承
protected protected protected 无法继承
private private private 无法继承
 
 
 
 
 
 
【注意】
  • 子类能访问父类的protected成员,如:
class Base
{
protected:
    void test();
};
 
class Derive : public Base    //继承方式随意
{
public:
    void testPro()
    {
        Base::test();    //此处可以调用父类的protected成员
    }
};
  • 只有通过public继承的方式,产生的派生类才能转换为基类
Derive derive;
Base * base = &derive;    //如果派生的时候用的是protected或者private方式,会报错,因为这样派生的类,其成员的可访问性和基类不一样了

 

类的继承

标签:

原文地址:http://www.cnblogs.com/cyf333333/p/5517195.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!