77问答网
所有问题
当前搜索:
析构函数中调用虚函数采用静态联编
C++中“
析构函数中调用虚函数采用静态联编
”为什么正确?
答:
在构造函数和析构函数中调用虚函数,编译系统对构造函数和
析构函数中调用虚函数采用静态联编
,因为它们所调用的虚函数是自己的类,或者基类中定义的函数而不是在任何派生类中重定义的函数。所有这句话说的是正确的。下面介绍一些相关知识:什么是静态联编:即在编译过程中进行联编被称为静态联编(static b...
C++运行时多态的选择题,帮帮新手吧
答:
答案是D 解释:A:构造函数不能声明为虚函数,但在构造函数中可以调用虚函数.在构造函数或
析构函数中调用虚函数
,将
采用静态联编
B,C,D:构造函数不能声明为虚函数,但析构函数可以声明为虚函数.当基类的析构函数声明为虚函数时,无论派生类是否使用virtual关键字说明,派生类的析构函数一定是虚函数,而且,...
c++
虚函数静态
关联
答:
这个是C++中的slice现象,b是B类型的,但函数接受的是A类型的对象,所以,b被切成了A类型的,所以
调用
a2.disp();时,输出A;这和
虚函数
没有关系,虚函数通常都是和指针关联在一起的,你把代码改成这样,就会体会到虚函数了。include <iostream> using namespace std;class A{ public:virtual void...
C++常见的问题?
答:
静态联编-在编译之前就能确定所调用的资源
,动态联编(运行时联编)(类似于java里面的多态)纯虚函数类似于java中的抽象类和抽象的方法(java中的接口比抽象类更抽象)(c++中的虚函数和java中的虚函数不一样,c++中是为了让指针可以有多态性,而java中确实真实的抽象,不能有实现的方法,为接口准备的...
举个具体的例子,动态多态有啥用啊
答:
虚函数
允许
函数调用
与函数体的联系在运行时才给出。当需要同一接口、多种实现时,这种功能显得尤其重要。在讲述虚函数的概念之前,先介绍子类型及
静态联编
和动态联编的相关内容。子类型 有一个特定的类型S,当且仅当它至少提供了类型T 的行为,则称类型S 是类型T 的子类型。在继承关系中,若类B 是...
c++ 多态 为什么要用父类指向子类对象
答:
不建议用父类指针指向子类,尤其是父类
析构函数
没有声明为
虚函数
,
采用
父类指针,其生存周期结束时会自动
调用
父类的析构函数,而不会调用子类析构函数,子类未完全析构,造成内存泄漏。
浅谈
静态联编
和动态联编的区别和实现动态联编的
答:
编译时所进行的
联编
又称为
静态
束定。束定是指确定所
调用
的函数与执行该函数代码之间的关系。动态联编也称动态绑定,是指在程序运行时,根据当时的情况来确定调用的同名函数的实现,实际上就是在运行时选择
虚函数
的实现。这种联编又称为晚期联编或动态(束定。实现条件:①要有继承性且要求创建子类型关系;...
虚函数调用
一定要动态
联编
答:
答案是对的,并不是
调用虚函数
时一定是动态
联编
的。具体要看是通过谁调用的,如果是通过对象指针或是引用调用虚函数,那么虚函数是动态联编的;但如果就是通过某个确定的对象调用的,那就不是动态联编的。
静态联编
和静态编译
答:
动态联编是指在程序执行的时候才将函数实现和
函数调用
关联,因此也叫运行时绑定或者晚绑定,动态联编对函数的选择不是基于指针或者引用,而是基于对象类型,不同的对象类型将做出不同的编译结果。C++中一般情况下联编也是
静态联编
,但是一旦涉及到多态和虚拟函数就必须要
使用
动态联编了。下面将介绍一下多态。...
c++中
静态联编
和动态联编最大的区别是什么?
答:
静态联编
说的是在编译时就已经确定好了
调用
和被调用两者的关系。动态联编说的是程序在运行时才确定调用和被调用者的关系。这个主要是
虚函数
实现的多态性.如果你学了虚函数自然就明白了。
1
2
3
4
5
6
涓嬩竴椤
其他人还搜
构造函数和析构函数有this指针吗
类成员的初始化顺序与什么有关
strcpy
析构函数中调用虚函数采用静态绑定
在构造函数和析构函数中调用虚函数
析构函数中调用虚函数
析构函数和虚析构函数
构造函数可以调用虚函数吗
析构函数可以是虚函数