77问答网
所有问题
当前搜索:
调用虚函数
在C++中,要实现动态绑定,必须使用( )
调用虚函数
答:
在C++中,要实现动态绑定,必须使用基类指针
调用虚函数
。基类指针和派生类指针的使用总结 基类指针指向基类对象(正常使用);派生类指针指向派生类对象(正常使用,不管是不是虚函数,调用的都是派生类的函数);基类指针指向派生类对象(多态的体现,虚函数的话调用的是派生类的,非虚函数的话调用的是基类...
C++中“析构函数中
调用虚函数
采用静态联编”为什么正确?
答:
虚函数的作用主要是实现了多态的机制
。关于多态,简而言之就是用基类型别的指针指向其派生类的实例,然后通过基类的指针调用实际派生类的成员函数(基类指针可调用同名覆盖方法)。这种技术可以让基类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。
C++
虚函数调用
问题。输出DBB,调用过程是什么
答:
调用
顺序显然是fun1调用D类成员的show
函数
,fun2和fun3调用B类成员的show函数 原因:全局main函数中,p是上转型对象,使用D类型的成员(谁叫它用了D类的构造函数嘛),而且没有强制转换为B类类型(只是弄了个B类指针而已),因此fun1要调用D类的成员函数。对象b和fun2不用解释,对象d虽然是D类类型的...
c++ 构造函数里可以
调用虚函数
吗
答:
在构造函数不要调用虚函数
。在基类构造的时候,虚函数是非虚,不会走到派生类中,既是采用的静态绑定。显然的是:当我们构造一个子类的对象时,先调用基类的构造函数,构造子类中基类部分,子类还没有构造,还没有初始化,如果在基类的构造中调用虚函数,如果可以的话就是调用一个还没有被初始化的对...
C++中
虚函数
的作用是什么?它应该怎么用呢?
答:
C++中
虚函数
的作用:1、简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。2、实现多态性,多态性是将接口与实现进行分离。3、当基类指针指向一个子类对象,通过这个指针
调用
子类和基类同名成员函数的时候,基类声明为虚函数就会调子类的这个函数,不声明就会调用基类的。C++中虚函数的用法:1、...
什么是C++
虚函数
,虚函数的作用和使用方
答:
虚函数
的作用:用同一个
调用
形式,既能调用派生类又能调用基类的同名函数。虚函数的使用方法是:1. 在基类用virtual声明成员函数为虚函数。这样就可以在派生类中重新定义此函数,为它赋予新的功能,并能方便地被调用。在类外定义虚函数时,不必再加virtual。2. 在派生类中重新定义此函数,要求函数名、...
构造函数为什么不建议
调用虚函数
答:
VPTR的状态是由被最后调用的构造函数确定的。这就是为什么构造
函数调用
是从基类到更加派生类顺序的另一个理由。但是,当这一系列构造函数调用正发生时,每个构造函数都已经设置VPTR指向它自己的VTABLE。如果函数调用使用虚机制,它将只产生通过它自己的VTABLE的调用,而不是最后的VTABLE(所有构造函数被调用后...
通过基类的指针或引用
调用虚函数
,发生动态绑定,引用或指针即可指向基类...
答:
int main(){ Base b(5),*p; //定义基类对象,基类指针;Derived d; //定义派生类对象;p=&b; //对象指针指向基类对象 p->show(); //所以此时
调用
的是基类的show()
函数
p=&d; //对象指针指向派生类对象 p->show(); //此时调用的是派生类的show()函数 return 0;}...
static函数如何
调用虚函数
答:
1.如果通过对象
调用虚函数
,编译器直接找到虚函数的地址。2.对于虚函数和成员函数,编译器都会隐式的传入this指针。3.对于指针和引用的形式来调用虚函数,编译器走的则是虚函数表的路线。4.无论是成员函数还是虚函数,他的地址都是在编译期间就已经确定下来了,接下来就看你怎么去找到这个虚函数的地址...
虚函数调用
一定要动态联编
答:
答案是对的,并不是
调用虚函数
时一定是动态联编的。具体要看是通过谁调用的,如果是通过对象指针或是引用调用虚函数,那么虚函数是动态联编的;但如果就是通过某个确定的对象调用的,那就不是动态联编的。
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
虚函数的调用规则
虚函数与普通函数区别
基类指针访问虚函数
虚函数和实函数的区别
对虚函数的调用有两种方式:
虚函数的概念与作用
拷贝构造函数的参数是什么
纯虚函数和虚函数区别
虚函数实现多态的原理