博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象编程:概述
阅读量:6464 次
发布时间:2019-06-23

本文共 522 字,大约阅读时间需要 1 分钟。

hot3.png

一:继承

    1:定义为virtual的函数是基类希望派生类重新定义的,基类希望派生类继承的的函数不能定义为虚函数。

    2:动态绑定:绑定的是对象的动态类型,某特性(比如函数)依赖于对象的动态类型,发生在运行期C++中,          通过基类的引用(或指针)调用虚函数时,发生动态绑定。引用(或指针)既可以指向基类对象,也可以            指向派生类对象,这是动态绑定的关键。

二:定义基类和派生类

    1:基类的析构函数,一般都定义为虚函数。

    2:除了构造函数之外,任意非static成员函数都可以是虚函数。

    3:保留字virtual只能出现在类内部的成员函数的声明上,不能出现在类定义体外部出现的函数定义上。

    4:private成员只能由基类成员和余元访问

三:派生类

    1:派生类一般会重新定义所继承的虚函数。如果派生类没有重定义某个虚函数,则使用基类中定义的版本。

    2:派生类中虚函数的声明必须与基类中的定义方式完全相同。

    3:一旦函数在基类中呗声明为虚函数,它就一直为虚函数,派生类无法改变该函数为虚函数的事实。派生类重新定义         虚函数时,virtual关键字可有可无。

转载于:https://my.oschina.net/yulongjiang/blog/261869

你可能感兴趣的文章
设计师给了px显着的单位,Android要设置多少开发商dip、dp、sp?
查看>>
快速入门:十分钟学会Python(转)
查看>>
Android4.2.2由于越来越多的物理按键(frameworks)
查看>>
C++ friend 用法汇总
查看>>
Java:正则表达式的详解
查看>>
【转】互联网时代的关键人物:大公司的小领导
查看>>
Android有效解决加载大图片时内存溢出的问题
查看>>
WPF笔记(2.7 文字布局)——Layout
查看>>
Java finally语句到底是在return之前还是之后执行?
查看>>
GPUImage API文档之GLProgram类
查看>>
C# 断点续传原理与实现
查看>>
C#中使用命名管道进行进程通信的实例
查看>>
Lintcode: Minimum Subarray
查看>>
内存问题 动态加载地址和运行时地址
查看>>
LINK : fatal error LNK1181: 无法打开输入文件“..\..\lib\Release\opencv_ocl249.lib”
查看>>
更改MySQL数据文件目录位置
查看>>
android假设重写onDraw实现一个相似TextView能够显示表情和链接的控件(二)
查看>>
Java魔法堂:注解用法详解——@SuppressWarnings(转)
查看>>
unity, GUIStyle and Skin
查看>>
link和@import的区别
查看>>