原文:基类指针指向子类对象(转)

没有指定虚函数,那么它就只能访问到类型对应的函数基类指针就只能访问到基类函数子类指针就只能访问到子类函数要使用基类访问到子类的函数,最符合常规的,就是虚函数了. 当然,你也可以使用非常规的,比如强制转换,比如自己计算函数地址并调用. 正常情况,子类祖先类的析构函数都是虚拟的,这样删除祖先类指针 子类对象的时候,可正确同时调用子类和祖先类的析构函数 : 看一下几个结论: ,如果以一个基础类指针指向一 ...

2019-09-15 14:32 0 486 推荐指数:

查看详情

基类与派生类,父类指针指向子类对象

先看一段代码: 运行结果如下,情理之中,意料之内: C++创建对象的时候先创建基类部分,然后创建派生部分。析构的时候要反过来了,先释放子类部分,然后在释放父类部分。但是这里只释放了父类部分,没有释放派生类的部分。为什么呢? 原因很明确:因为之类pB是基类指针,虽然指向 ...

Fri Mar 09 07:05:00 CST 2018 1 3611
基类指针指向派生类对象

派生类对象也“是”基类对象,但两者不同。 派生类对象可以当做基类对象,这是因为派生类包含基类的所有成员。 但是基类对象无法被当做成派生类对象,因为派生类可能具有只有派生类才有的成员。 所以,将派生类指针指向基类对象的时候要进行显示的强制转换,否则会使基类对象中的派生类成员成为未定义 ...

Tue Mar 18 19:19:00 CST 2014 0 6266
c++ 动态判断基类指针指向子类类型(typeid)

我们在程序中定义了一个基类,该基类有n个子类,为了方便,我们经常定义一个基类指针数组,数组中的每一项指向指向一个子类,那么在程序中我们如何判断这些基类指针指向哪个子类呢? 本文提供了两种方法 (1) 自定义类id, (2)typeid 一、自定义id 如下所示基类father有两个子类 ...

Thu Sep 13 16:50:00 CST 2018 1 2043
c++ 动态判断基类指针指向子类类型(typeid)

我们在程序中定义了一个基类,该基类有n个子类,为了方便,我们经常定义一个基类指针数组,数组中的每一项指向指向一个子类,那么在程序中我们如何判断这些基类指针指向哪个子类呢? 本文提供了两种方法 (1) 自定义类id, (2)typeid 一、自定义id 如下所示基类father有两个子类 ...

Mon Jul 08 00:52:00 CST 2013 1 13116
基类指针指向派生类对象&派生类指针指向基类对象

静态绑定 如果以一个基础类指针指向一个衍生类对象(派生类对象),那么经由该指针只能访问基础类定义的函数 如果以一个衍生类指针指向一个基础类对象,必须先做强制转型动作(explicit cast),这种做法很危险,也不符合生活习惯,在程序设计上也会给程序员带来困扰。 如果基础类和衍生 ...

Tue Jul 07 03:13:00 CST 2020 0 1494
c++父类指针指向子类对象

父类子类指针函数调用注意事项1,如果以一个基础类指针指向一个衍生类对象(派生类对象),那么经由该指针只能访问基础类定义的函数(静态联翩)2,如果以一个衍生类指针指向一个基础类对象,必须先做强制转型动作(explicit cast),这种做法很危险,也不符合生活习惯,在程序设计上也会给程序员带来困扰 ...

Tue Apr 12 04:25:00 CST 2016 0 18132
c++父类指针指向子类对象

c++父类指针指向子类对象 父类子类指针函数调用注意事项1,如果以一个基础类指针指向一个衍生类对象(派生类对象),那么经由该指针只能访问基础类定义的函数(静态联翩)2,如果以一个衍生类指针指向一个基础类对象,必须先做强制转型动作(explicit cast),这种做法 ...

Mon Nov 02 05:42:00 CST 2020 0 1149
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM