77问答网
所有问题
当前搜索:
指向基类的指针指向派生类
在C++中,要实现动态绑定,必须使用( )调用虚函数
答:
基类
指针指向派生类
对象(多态的体现,虚函数的话调用的是派生类的,非虚函数的话调用的是
基类的
);派生类指针
指向基类
对象(一般不要这么用)。动态绑定的简介 动态绑定即动态联编,它是指一个计算机程序自身彼此关联的过程。按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编;动态联编。...
指向基类
对象
的指针
不能赋值
派生类
对象指针我可以理解
答:
强制类型转换可以解决所有由于类型差异造成的不能计算。(至少可以通过编译这一步)至于这个操作做了什么,在c语言中这个很简单,而在c++中这个很复杂,他可能进行了构造(如果提供了这个构造函数),可能需要改变一个类的布局(由于多重继承的原因。。),也可能什么都不做(只是让这句编译通过)由于这件...
基类指针
和
派生类指针
相互赋值的原理!
答:
楼主的问题很经典,可以看出是动了脑筋了。问题的关键出在这里,a=b;后,a的地址和b相同,a确实已经
指向
b所指向的内存块,但是这个内存块究竟是调用函数的?实际上是这样的,对于普通函数,函数调用取决于对象命名的变量类型;而在利用多态(C++中通过虚函数实现)时,调用哪个函数取决于对象在继承链中...
虚函数实现机制
答:
2、每个类自己的虚函数入口都在这张表中维护,调用方法的时候会隐式的传入一个this指针,然后系统会根据this指针找到对应的vptr,进而找到对应的 虚函数表 ,找到真正方法的地址,然后才去调用这个方法,这可以叫动态绑定。3、 虚函数表 存放重写的虚函数,当
基类的指针指向派生类
的对象时,调用虚函数时...
关于
基类指针
强制转换成
派生类指针
答:
这段代码不会通过编译。
基类指针
不能强制转换并赋给
派生类指针
,原因很简单,如果能够这样赋值,意味着基类完全可以替代派生类,这是不允许的,因为派生类可能有添加功能。如果现实中需要这种转换,那就首先需要考虑一下继承关系的设计问题了。
怎么区别
指针
调用的是
基类
还是
派生类
答:
这是一个关于多态的问题,1.主要看
指针指向
的对象是基类对象,还是
派生类
对象,一般在编译的时候我们不能决定,在运行的时候决定。2.虚函数和实函数在多态中的调用是不一样的,如果是虚函数,函数的调用由对象决定,一个指针如果指向的是基类对象,调用的肯定是
基类的
函数,如果是派生类对象,肯定调用的...
举个具体的例子,动态多态有啥用啊
答:
例如:下面是
指向基类
对象
的指针指向派生类
对象,从而访问从基类继承的成员的例子。include <iostream.h> include <string.h> class B { char name[80];public:void put_name(char *s){ strcpy(name,s); } void show_name(){ cout<<name<<“\n”; } };class D: public B { char...
基类指针
NEW一个
派生类
对象,如何使这个指针可以调用派生类方法
答:
如果你说的方法不是重写基类的虚函数的话,则
基类的指针
无法调用
派生类
的方法.若是指多态,则可以通过在基类中定义虚函数,派生类重写这个函数。就可以在运行时动态调用对应的派生类方法了.
基类指针
是否能
指向派生类
的子类
答:
回答不能太简单 能
C++ delete一个
指向派生类
的
基类指针
答:
就是父类
指针指向
子类对象的释放呀。父类析构函数前 如果没加virtual,则只会执行父类的 析构函数,如果加了 virtual,父类就会通过虚函数表 和虚函数表指针 找到子类的析构函数 则先执行子类的析构函数从而释放掉子类对象,再执行父类的析构函数 ...
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜