c++提供四种类型转换 static_cast转换内置数据类型和具有继承关系的指针和引用 class Building{};class Animal{};class Cat :public Animal{}; dynamic_cast转换具有继承关系的指针或引用,在转换之前进行对象类型检查 子类指针 ...
分类:
编程语言 时间:
2019-04-18 22:05:02
阅读次数:
193
c++句柄 "超简单句柄类" "指针型句柄" "管理图书类句柄" c++ 枚举 得出结果b=2,c=6 ...
分类:
编程语言 时间:
2019-04-08 01:10:11
阅读次数:
180
一、基类指针、派生类指针 父类指针可以new一个子类对象 二、虚函数 有没有一个解决方法,使我们只定义一个对象指针,就可以调用父类,以及各个子类的同名函数? 有解决方案,这个对象指针必须是一个父类类型,我们如果想通过一个父类指针调用父类、子类中的同名函数的话,这个函数是有要求的; 在父类中,eat函 ...
分类:
编程语言 时间:
2019-03-06 22:01:22
阅读次数:
164
1.RTTI 1)运行时类型识别RTTI(Run-Time Type Identification),它能够获取基类指针或引用所指向的对象的实际类型,在C++中,为了支持RTTI提供了两个运算符:typeid和dynamic_cast 2) 2.dynamic_cast 2.1概念 1)dynami ...
分类:
其他好文 时间:
2019-02-26 13:06:21
阅读次数:
176
1:每个析构函数只会清理自己的成员(成员函数前没有virtual)。2:可能是基类的指针指向派生类的对象,当析构一个指向派生类的成员的基类指针,这时程序不知道这么办,可能会造成内存的泄露,因此此时基类的析构函数要定义为虚函数;基类指针可以指向派生类的对象(多态),如果删除该指针delete[]p,就 ...
分类:
编程语言 时间:
2019-02-19 13:36:04
阅读次数:
147
从类空间与对象空间的角度研究类 给对象封装属性: 1.在__init__中 2.在类的外部 3.在类的其他方法中 给一个类添加属性: 1.类的外部 2.类的内部 类对象指针(对象空间): 对象找属性顺序:对象空间--类空间--父类空间 类指针(累空间): 类找属性顺序:类空间--父类空间 以上顺序单 ...
分类:
其他好文 时间:
2019-01-25 17:45:44
阅读次数:
196
1、如果一个类被继承,同时定义了基类以外的成员对象,且基类析构函数不是virtual修饰的, 那么当基类指针或引用指向派生类对象并析构(例如自动对象在函数作用域结束时;或者通过delete)时,会调用基类的析构函数而导致派生类定义的成员没有被析构,产生内存泄露等问题。虽然把析构函数定义成virtua ...
分类:
其他好文 时间:
2018-12-31 17:13:20
阅读次数:
210
虚函数的实质和用途:如果不定义虚函数,基类和扩展类中不能有同名函数(名字,参数个数顺序类型都相同),否则会发生同名覆盖,此时想用基类指针去调用扩展类的对象是行不通的;但如果将基类的成员函数定时成虚函数,相当于允许扩展类中重新定义该同名函数执行不同的功能,此时就可以用基类的指针去指向扩展类,从而调用扩 ...
分类:
编程语言 时间:
2018-12-17 02:01:15
阅读次数:
216
自己整理的初级面试题,主要是一些C++方面的内容,大部分都是网上的,只是加上自己的整理而已,可能会更新,也可能咸鱼,希望不会被举报侵权吧,拜托!! 三大特性 封装:指数据和实现操作的代码集中起来放在对象内部,并尽可能隐蔽对象的内部细节 继承:子类可以直接使用父类的公有属性与方法 多态:父类指针可以指 ...
分类:
编程语言 时间:
2018-12-15 19:53:38
阅读次数:
166
0.目录 1. "类型识别" 2. "动态类型识别" 3. "类型识别关键字" 4. "小结" 1.类型识别 在面向对象中可能出现下面的情况: 基类指针指向子类对象 基类引用成为子类对象的别名 静态类型——变量(对象)自身的类型 动态类型——指针(引用)所指向对象的实际类型 2.动态类型识别 C++ ...
分类:
编程语言 时间:
2018-12-10 14:16:33
阅读次数:
214