文档章节

c++继承

hudangwei
 hudangwei
发布于 2016/07/31 00:41
字数 230
阅读 3
收藏 0

基类成员访问属性    继承方式    派生类成员访问属性

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

public成员                public        public

protected成员                            protected

private成员                                无法访问

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

public                        protected        protected

protected                                            protected

private                                                无法访问

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

public                        private                private

protected                                              private

private                                                   无法访问

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

隐藏:

父子关系->成员函数、数据成员同名->隐藏父类成员

通过父类::成员可以访问隐藏的成员

覆盖:

父子关系->同名虚函数->覆盖父类的虚函数

 

抽象类:含有纯虚函数的类叫抽象类,抽象类不能实例化

接口类:仅含有纯虚函数的类叫接口类,没有数据成员,成员函数都是纯虚函数

 

RTTI 运行时类型识别

void dosomething(flyable *obj)

{

    obj->takeoff();

    cout<< typeid(*obj).name()<<endl;

    if(typeid(*obj)==typeid(Bind))

    {

        Bird *bird = dynamic_cast<Bird *>(obj);

        bird->foraging();

    }

    obj->land();

}

 

dynamic_cast 必须是指针或引用,且类中必须要有虚函数

 

 

© 著作权归作者所有

共有 人打赏支持
hudangwei
粉丝 1
博文 7
码字总数 3309
作品 0
朝阳
私信 提问
《鸡啄米C++编程入门系列》系列技术文章整理收藏

《鸡啄米C++编程入门系列》已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/201812.html 文章 鸡啄米:C++编程入门系列之前言 鸡啄米:C++编程入门系列之一(进制...

开元中国2015
2015/06/27
0
0
C++ STL编程轻松入门 2

1.3.3 STL和GP,GP和OOP   正如前面所提到的,在STL的背后蕴含着泛型化程序设计(GP)的思想,在这种思想里,大部分基本算法被抽象,被泛化,独立于与之对应的数据结构,用于以相同或相近的...

暖冰
2015/11/21
0
0
c语言基础学习11_项目实战:IDE(集成开发环境)

============================================================================= ============================================================================= 涉及到的知识点有: 一......

黑泽明军
2018/01/29
0
0
Android Camera 模块分析(四)

3.3 Camera本地库libui.so frameworks/base/libs/ui/中的Camera.cpp文件用于实现Camera.h提供的接口,其中一个重要的片段如下所示: const sp<ICameraService>& Camera::getCameraService()......

Jerikc
2012/08/31
0
0
javascript原型的理解

JavaScript是一门面向对象的语言。在JavaScript中有一句很经典的话,万物皆对象。既然是面向对象的,那就有面向对象的三大特征:封装、继承、多态。这里讲的是JavaScript的继承,其他两个容后...

痴情小云
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。

import java.util.Stack; public class Solution { public boolean IsPopOrder(int [] pushA,int [] popA) { if(pushA.length==0||popA.length==0) return false; Stack......

南桥北木
12分钟前
0
0
互联网浪潮下,Java程序员如何追赶技术革新的脚步?

一:时代背景 身处互联网行业的我们一直处在变革的最前端,受到行业发展浪潮的洗礼,不停歇地追赶着技术革新的脚步。特别是近几年来, 互联网架构不断演化,经历了从集中式架构到分布式架构,...

老道士
19分钟前
0
0
flink系列(9)-flink启动流程分析

连续写了几天的flink StreamGraph的代码,今天闲来说一下flink的启动

yiduwangkai
32分钟前
0
0
取变量的地址赋值给另一个变量,C通过,C++编译出错

取变量的地址赋值给另一个变量,C通过。正常运行,C++编译出错。 代码如下: #include <stdio.h>int main(int argc, char *argv[]){int x = 3;int *p = &x;int y = p;/*c ...

SamXIAO
今天
1
0
利用隐写术实施攻击

尽管隐写术是一种低频攻击途径,但网络犯罪分子已经开始利用它结合社交媒体的普遍性和快速传播性来传递恶意有效负载。 低调但有效的隐写技术虽然是旧把戏,但将代码隐藏在看似正常的图像中,...

Linux就该这么学
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部