C++继承知识点滴
来源:互联网 发布:最新营销软件 编辑:程序博客网 时间:2024/05/21 01:44
写在前面
继承是c++语言一个重要的机制,该机制自动地为一个类提供来自另一个类的操作和数据结构,这使得程序员只需在新类中定义已有的类中没有的成分来建立一个新类。
什么是继承
继承是类的重要特性。A类继承B类,我称B类为“基类”,A为“子类”。A类继承了B类之后,A类就具有了B类的部分成员,具体得到了那些成员,这得由两个方面决定:
- 继承方式
- 基类成员的访问权限
#include<iostream>using namesprace std;class Base//基类{private: int _b;public: Base(int b) :_b(b) {} void FunTest1() { cout<<"Base::FunTest1()"<<endl; } ~Base() {}};//共有继承public/保护继承protected /私有继承privateclass Dir:public Base//子类{private: int _d;public: Dir(int b,int d):Base(b) :_d(d) {} void FunTest2() { cout<<"Dir::FunTest2()"<<endl; } ~Dir() {}};int main(){ Base b(12); Dir d(13,24); b.FunTest1(); d.FunTest2(); return 0;}
知识点
@1基类公有成员,子类中继承为自己的保护成员,在派生类可以访问,在外部不可以访问
@2基类保护成员,子类中继承为自己的保护成员,在派生类可以访问,在外部不可以访问
@3基类私有成员,子类一样不可以访问基类的私有成员。
私有继承(private)
私有继承方式的,就是在继承时,把protected变成private,它需要注意的事项为:
(1) 基类公有成员,子类中继承为自己的私有成员,在派生类可以访问,在外部不可以访问。
(2). 基类保护成员,子类中继承为自己的私有成员,在派生类可以访问,在外部不可以访问。
(3) 基类私有成员,子类一样不可以访问基类的私有成员,
三种继承方式比较
从上面的结果来看,私有继承和保护继承作用完全一样。仔细一想其实还是有区别,区别是如果派生类再一次去派生其它类时,对于刚才的私有继承来说,再派生的类将得不到任何成员。而对于刚才的保护继承,仍能够得到基类的公有和保护成员。
派生类的构造
派生类是可以访问基类保护的数据成员,但是还有一些私有数据成员,派生类是无法访问的,并且为提醒类的独立性,我们还是希望通过调用基类的成员函数去初始化这些成员变量,所以派生类是通过调用基类的构造函数,实现对成员变量的初始化。具体代码示例,见上。
阅读全文
0 0
- C++继承知识点滴
- C语言高级知识点滴
- 知识点滴
- 点滴知识
- C/C++知识回顾 继承与接口
- c点滴
- c 点滴
- vc入门知识点滴
- Linux知识点滴
- 知识点滴:什么是UART ?
- spread 知识点滴积累
- 关于SQL知识点滴
- 知识点滴录1
- Ubuntu知识点滴
- WSD知识点滴
- web知识点滴记载
- 点滴知识分享
- JavaScript知识点滴
- c#之上下滚动播放
- 【我的Java笔记】异常类
- 【Unity学习笔记】关于在Unity中build apk error
- ubuntu17.10笔记本待机后无法唤醒的解决方案
- Dubbo服务降级
- C++继承知识点滴
- SQLServer输出字段说明注释
- java加解密之RSA使用
- cocos2dx 获取手机屏幕分辨率 objective-c android 和 Lua 交互 向lua 传参
- Tablayout的基础使用
- 【3】在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序
- Android消息机制源码解析(Handler)
- unity c#斗地主算法计算牌型
- 2018年需要关注的5个物联网趋势