77问答网
所有问题
当前搜索:
什么函数不能是虚函数
C++ 中
什么
样的函数可以作为
虚函数
答:
1.内联函数:我们都知道内联函数只是在函数调用点将其展开
,它不能产生函数符号,所以不能往虚表中存放,自然就不能成为虚函数。2.
静态函数
:定义为静态函数的函数,这个函数只和类有关系,它不完全依赖于对象调用,所以也不能成为虚函数。3.
构造函数
:都知道只有当调用了构造函数,这个对象才能产生,...
哪些函数不能为虚函数
答:
常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数
。这个原因很简单,主要是从语义上考虑,所以不支持。因为构造函数本来就是为了明确初始化对象成员才产生的,然而virtual function主要是为了再不完全了解细节的情况下也能正确处理对象。另外,virtual函...
为什么构造
函数不能
声明
为虚函数
,析构函数可以
答:
构造函数不能声明为虚函数
,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。
构造、析构函数
可否为virtual
答:
构造函数不能声明为虚函数
,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:解释一:所谓虚函数就是多态情况下只执行一个。而从继承的概念来讲,总是要先构造父类对象,然后才能是子类对象。如果构造函数设为虚函...
什么函数不能
声明
为虚函数
?
答:
inline, static, constructor ,template 函数都不能 为虚函数
,而析构函数可以。为什么呢:inline: 编译器替换; 而虚函数是为了解决运行期间绑定。static:class 成员; 编译期间就给class了。constructor:
构造函数
表示要生成一个class的object;假设是virtual的,那就说不知道这个实例化derived还是based...
C++运行时多态的选择题,帮帮新手吧
答:
答案是D
解释:A:构造函数不能声明为虚函数
,但在构造函数中可以调用虚函数.在构造函数或析构函数中调用虚函数,将采用静态联编 B,C,D:构造函数不能声明为虚函数,但析构函数可以声明为虚函数.当基类的析构函数声明为虚函数时,无论派生类是否使用virtual关键字说明,派生类的析构函数一定是虚函数,而且,...
什么函数不能
声明
为虚函数
?
答:
虚函数是实现类中的多态性,是为类而存在的,
而普通函数不是属于类的
,所以普通函数不能,只有成员函数才可以
为什么C++的构造
函数不可以是虚函数
,而析构
答:
虚函数的作用在于通过父类的指针或者引用来调用它的时候能够变成调用子类的那个成员函数。而
构造函数
是在创建对象时自动调用的,不可能通过父类的指针或者引用去调用,因此也就规定构造函数不能是虚函数。③构造函数不需要是虚函数,也不允许是虚函数,因为创建一个对象时我们总是要明确指定对象的类型,尽管...
虚函数的作用,为什么构造
函数不能是虚函数
答:
所以,
构造函数不能是虚的
,然而,对于析构函数来说他常常是,而且最好是虚的!这个此处暂时不议.参考资料:http://hi.baidu.com/jingxshi/blog/item/f119d0302a470290a9018ef4.html
为什么构造
函数不能是虚函数
?
答:
虚函数用于动态联编,是在运行是通过类型来觉得函数的调用~而
构造函数
是在类型完成内存分配之前调用的,不可能知道是哪个类型,所以不能为虚函数
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
什么不能定义虚函数
不能说明为虚函数的是
友元函数和一般函数区别
什么函数不能被继承
构造函数不能被声明为虚函数
什么函数不能声明为虚函数
静态成员函数不能是虚函数
虚函数是不是成员函数
虚函数不能是静态函数