C++公有继承
2016-04-04 21:44
246 查看
is-a、has-a和like-a、组合、聚合和继承 两组概念的区别 - cbk861110的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/cbk861110/article/details/9028189
公有继承强调的是is-a的关系,强调的是一种继承关系,而has-a强调的是一种从属关系。
继承的形式为: class derived:public based
公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,只能通过基类的公有或保护成员访问。
派生类无妨继承基类的构造函数,因此,派生类必须定义自己的构造函数。
派生类构造函数在使用时:
1、必须先调用基类构造函数创建基类 Derived::Derived(....):Based( ){....}
2、派生类构造函数可以通过成员初始化列表将基类的信息传递给基类构造函数。
3、派生类构造函数应初始化派生类新增的数据成员
派生类过期时,必须先调用派生类的析构函数,在调用积累的析构函数 Derived::~Derived(){...... ~baesd();}
派生类与基类之间的关系
1、派生类只能调用基类的公有成员,对于私有成员则只能通过基类的公有成员或保护成员调用
2、基类指针和引用可以在不进行显示转换的情况下指向派生类对象,即:
①形参为基类引用(或指针)的函数,可以使用基类对象(的地址)或者派生类对象(的地址)作为实参
②可以用派生类对象初始化基类对象
3、基类引用或指针只能用于调用基类方法,不能用于调用派生类的方法
公有继承强调的是is-a的关系,强调的是一种继承关系,而has-a强调的是一种从属关系。
继承的形式为: class derived:public based
公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,只能通过基类的公有或保护成员访问。
派生类无妨继承基类的构造函数,因此,派生类必须定义自己的构造函数。
派生类构造函数在使用时:
1、必须先调用基类构造函数创建基类 Derived::Derived(....):Based( ){....}
2、派生类构造函数可以通过成员初始化列表将基类的信息传递给基类构造函数。
3、派生类构造函数应初始化派生类新增的数据成员
派生类过期时,必须先调用派生类的析构函数,在调用积累的析构函数 Derived::~Derived(){...... ~baesd();}
派生类与基类之间的关系
1、派生类只能调用基类的公有成员,对于私有成员则只能通过基类的公有成员或保护成员调用
2、基类指针和引用可以在不进行显示转换的情况下指向派生类对象,即:
①形参为基类引用(或指针)的函数,可以使用基类对象(的地址)或者派生类对象(的地址)作为实参
②可以用派生类对象初始化基类对象
3、基类引用或指针只能用于调用基类方法,不能用于调用派生类的方法
相关文章推荐
- 对比scanf()、getchar()和gets()
- C/C++学习之路----volatile
- 精确求小数值(C语言实现)
- C/C++中float和double的存储结构
- boost::shared_ptr与定制删除器
- 1.3.1_HDOJ_FatMouse'Trade
- 关于C语言的问卷调查
- C++时间和日期
- 全排列-递归
- 构建c/c++项目时添加宏定义
- c++中使用外部库exe,.dll与.lib文件的生成与使用的详解
- 中兴移动2014届校园招聘C++笔试题
- C++两个不同类之间,友元函数的简单应用。
- c++ 转换构造函数
- Move semantics(C++11)
- 大型分布式C++框架《一:框架简介》
- C语言问卷调查
- 设计模式C++策略模式
- 【C++】深拷贝和浅拷贝解析
- c++作业2---项目二到四