77问答网
所有问题
当前搜索:
构造函数能定义为虚函数吗
下面关于
构造函数
和析构函数的描述,错误的
是
( )。
答:
【答案】:D 构造函数的主要作用是对数据成员初始化。
构造函数不能声明为虚函数
,这是因为在执行构造函数时类对象还未完成建立过程,当然谈不上函数与类对象的关联。
构造
、析构
函数
可否为virtual
答:
构造函数不能声明为虚函数
,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:解释一:所谓虚函数就是多态情况下只执行一个。而从继承的概念来讲,总是要先构造父类对象,然后才能是子类对象。如果构造函数设为虚函...
构造函数可以
是
是虚函数吗
?怎样使构造函数具有虚函数的效果?
答:
构造函数不能为虚函数
。原因是在建立一个对象时,构造函数必须知道其确切类型,否则编译器无法进行存贮空间的分配。要使构造函数具有虚函数的效果,通过以下方法:例:class Base { public:Base(); // 确省构造函数 Base(const Base&); // 拷贝构造函数 virtual Base* new_Obj() { return new Bas...
C++运行时多态的选择题,帮帮新手吧
答:
答案是D
解释:A:构造函数不能声明为虚函数,但在构造函数中可以调用虚函数.在构造函数或析构函数中调用虚函数
,将采用静态联编 B,C,D:构造函数不能声明为虚函数,但析构函数可以声明为虚函数.当基类的析构函数声明为虚函数时,无论派生类是否使用virtual关键字说明,派生类的析构函数一定是虚函数,而且,...
为什么
构造函数
不
能是虚函数
?
答:
虚函数用于动态联编,是在运行是通过类型来觉得函数的调用~而构造函数是在类型完成内存分配之前调用的,不可能知道是哪个类型,
所以不能为虚函数
c++的
构造函数能
不能用virtual修饰?
答:
不能!构造函数用来创建一个新的对象,而虚函数的运行是建立在对象的基础上,在构造函数执行时,对象尚未形成,所以不能将
构造函数定义为虚函数
。通常析构函数才会用virtual修饰
为什么C++的
构造函数
不
可以是虚函数
,而析构
答:
③
构造函数
不需要
是虚函数
,也不允许是虚函数,因为创建一个对象时我们总是要明确指定对象的类型,尽管我们可能通过实验室的基类的指针或引用去访问它。但析构却不一定,我们往往通过基类的指针来销毁对象。这时候如果析构函数不是虚函数,就不能正确识别对象类型从而不能正确调用析构函数。④从实现上看...
构造函数
说明为纯
虚函数是
没有意义的
答:
对.
构造函数
本身不
能是虚
拟函数;并且虚机制在构造函数中不起作用(在构造函数中的虚拟函数只会调用它的本地版本).因为在基类构造函数中使用虚机制,则可能会调用到子类,而此时子类尚未生成.
构造函数
,静态
函数可
不可以
为虚函数
答:
虚函数
调用是一种能够在给定信息不完全的情况下工作的机制。特别地,虚函数机制允许我们调用某个函数,对于这个函数,仅仅知道它的接口,而不知道具体的对象类型。但是要建立一个对象,你必须拥有完全的信息。特别地,你需要知道要建立的对象的具体类型。因此,对
构造函数
的调用不
能是虚
拟的。
C++ 中什么样的
函数可以
作为
虚函数
答:
1.内联函数:我们都知道内联函数只是在函数调用点将其展开,它不能产生函数符号,所以不能往虚表中存放,自然就不能成为
虚函数
。2.静态函数:
定义为
静态函数的函数,这个函数只和类有关系,它不完全依赖于对象调用,所以也不能成为虚函数。3.
构造函数
:都知道只有当调用了构造函数,这个对象才能产生,...
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
构造函数为什么不能是虚函数
构造函数能被声明为虚函数吗
构造函数可以说明为虚函数
构造函数可不可以是虚函数
类的构造函数可以是虚函数吗
构造函数可以是纯虚函数吗
析构函数能是虚函数吗
能否声明虚构造函数
构造函数可以作为虚函数吗