77问答网
所有问题
当前搜索:
什么函数不能是虚函数
哪些函数不能为虚函数
答:
常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数
。这个原因很简单,主要是从语义上考虑,所以不支持。因为构造函数本来就是为了明确初始化对象成员才产生的,然而virtual function主要是为了再不完全了解细节的情况下也能正确处理对象。另外,virtual函...
什么函数不能
声明
为虚函数
?
答:
虚函数是实现类中的多态性,是为类而存在的,
而普通函数不是属于类的
,所以普通函数不能,只有成员函数才可以
为什么构造
函数不能
声明
为虚函数
,析构函数可以
答:
构造函数不能声明为虚函数
,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。
构造、析构函数
可否为virtual
答:
构造函数不能声明为虚函数
,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:解释一:所谓虚函数就是多态情况下只执行一个。而从继承的概念来讲,总是要先构造父类对象,然后才能是子类对象。如果构造函数设为虚函...
什么函数不能
声明
为虚函数
?
答:
inline, static, constructor ,template 函数都不能 为虚函数
,而析构函数可以。为什么呢:inline: 编译器替换; 而虚函数是为了解决运行期间绑定。static:class 成员; 编译期间就给class了。constructor:
构造函数
表示要生成一个class的object;假设是virtual的,那就说不知道这个实例化derived还是based...
为什么C++的构造
函数不可以是虚函数
,而析构函数可以是虚函数
答:
C++的
构造函数
不能是虚函数,因为构造函数需在对象创建时自动调用,而虚函数调用依赖于指针或引用,此时对象内存空间尚未存在,无法找到虚函数表。相反,析构函数可以是虚函数,因为其在删除指针时无论指向基类还是派生类,都会根据类型调用相应的析构函数,这有助于避免资源泄漏。C++不将析构函数设为默认...
为什么C++的构造
函数不可以是虚函数
,而析构
答:
虚函数的作用在于通过父类的指针或者引用来调用它的时候能够变成调用子类的那个成员函数。而
构造函数
是在创建对象时自动调用的,不可能通过父类的指针或者引用去调用,因此也就规定构造函数不能是虚函数。③构造函数不需要是虚函数,也不允许是虚函数,因为创建一个对象时我们总是要明确指定对象的类型,尽管...
下面关于
构造函数
和析构函数的描述,错误的是( )。
答:
【答案】:D
构造函数
的主要作用是对数据成员初始化。
构造函数不能声明为虚函数
,这是因为在执行构造函数时类对象还未完成建立过程,当然谈不上函数与类对象的关联。
为什么构造
函数不能是虚函数
答:
所谓虚函数就是多态情况下只执行一个,而从继承的概念来讲,总是要先构造父类对象,然后才能是子类对象,如果
构造函数
设为虚函数,那么当你在构造父类的构造函数时就不得不显示的调用构造,还有一个原因就是为了防错,试想如果你在子类中一不小心重写了个跟父类构造函数一样的函数,那么你的父类的构造...
C语言中
什么函数不能
声明
为虚函数
?
答:
c语言里不管
什么函数
都
不可以
声明成
虚函数
的,只有c++里才可以
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
哪些函数不能被声明为虚函数
友元函数可以声明为虚函数吗
什么函数不能被继承
析构函数可以是虚函数吗
构造函数不能声明为虚函数
析构函数可以有参数吗
什么函数不能声明为虚函数
静态成员函数不能是虚函数
虚函数是不是成员函数