
C++多态
chenchen216
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++多态学习(二)完整定义:什么是多态?
多态分为静多态和动多态 1.静多态 函数重载,是一种多态现象,通过命名倾轧在编译阶段决定,故称为静多态。 2.动多态 动多态,不是在编译器阶段决定,而是在运行阶段决定,故称为动多态。动多态形成的条件如下: 1,父类中有虚函数。 2,子类override(覆写)父类中的虚函数。 3,将子类对象地址赋给父类的指针,并发生虚函数调用。(如果不用指针,用引用必须一开始必须绑定一个,而且一经确定,引...原创 2018-07-21 11:00:06 · 374 阅读 · 0 评论 -
C++多态学习(四)—虚函数的析构以及虚函数总结
虚析构,就是为了析构完全(在delete 父类指针的时候,将子类对象析构完全) 当一个类中有虚函数的时候,请将其析构函数一并virtual 看例子: class Animal { public: Animal(); ~Animal(); //析构 若改成virtual ~Animal();则为虚析构 ...原创 2018-07-21 14:33:28 · 264 阅读 · 0 评论 -
C++多态学习(三)—纯虚函数
纯虚函数格式: virtual void draw() =0; 纯虚函数没有实现体,含有纯虚函数的类,称为抽象基类,抽象基类不可以实例化(注意:这里是抽象基类,在多继承那里的虚继承才是虚基类) 在java中被称作interface 接口(在java中抽象基类),作用是给族类提供接口 例子: class Shape { public: Shape(int xx...原创 2018-07-21 11:41:41 · 364 阅读 · 0 评论 -
C++多态(初学)
继续视频学习C++,这次看到了多态 多态(PolyMorphism) 多态的意义 如果有几个相似而不完全相同的对象,有时人们要求在向它们发出同一个消息时,它们的反应各不相同,分别执行不同的操作。这种情况就是多态现象。 例如,甲乙丙3个班都是高二年级,他们有基本相同的属性和行为,在同时听到上课铃声的时候,他们会分别走向3个不同的教室,而不会走向同一个教室。 C++中所谓的多态(polymo...原创 2018-07-14 08:27:58 · 166 阅读 · 0 评论 -
C++ 运行时类型信息(RTTI)---typeid和typecast用法
学习了运行时类型信息(RTTI)这一块,把笔记写上 typeid 、 dynamic_cast是C++运行时类型信息RTTI(runtimetypeidentificaiton)重要组成部分。运行时信息,来自于多态,所以以下运算符只用于基于多态的继承体系中。 使用typeid,程序中需要包含头文件<typeinfo>,运行时自动生成一个对象,并返回一个值 例子: #in...原创 2018-07-22 15:21:43 · 1410 阅读 · 1 评论 -
设计模式——开闭原则(多态)
在接触设计模式时,遇到了开闭原则,觉得例子写的很不错,便记录下来。 在很多时候,比如在大型公司,我们对于源代码的改动是不现实的,大公司也不会让我们改动源代码,但是如果我们想实现新的功能,我们就需要增加代码即可,这里就需要用到多态,否则我们只改一个类里的内容在实际大型项目中,不太现实。 多态顺序就是:父类有虚函数,子类覆写父类虚函数,利用父类指针或者引用,指向子类对象。 开放封闭原则 (OCP...原创 2019-04-08 21:51:06 · 1039 阅读 · 0 评论