77问答网
所有问题
当前搜索:
构造函数能被声明为虚函数吗
下面关于
构造函数
和析构函数的描述,错误的
是
( )。
答:
构造函数的主要作用是对数据成员初始化。
构造函数不能声明为虚函数
,这是因为在执行构造函数时类对象还未完成建立过程,当然谈不上函数与类对象的关联。
C++运行时多态的选择题,帮帮新手吧
答:
答案是D
解释:A:构造函数不能声明为虚函数
,但在构造函数中可以调用虚函数.在构造函数或析构函数中调用虚函数,将采用静态联编 B,C,D:构造函数不能声明为虚函数,但析构函数可以声明为虚函数.当基类的析构函数声明为虚函数时,无论派生类是否使用virtual关键字说明,派生类的析构函数一定是虚函数,而且,...
构造
、析构
函数
可否为virtual
答:
构造函数不能声明为虚函数
,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:解释一:所谓虚函数就是多态情况下只执行一个。而从继承的概念来讲,总是要先构造父类对象,然后才能是子类对象。如果构造函数设为虚函...
为什么
构造函数
不
能是虚函数
?
答:
虚函数用于动态联编,是在运行是通过类型来觉得函数的调用~而构造函数是在类型完成内存分配之前调用的,不可能知道是哪个类型,
所以不能为虚函数
构造函数可以
是
是虚函数吗
?怎样使构造函数具有虚函数的效果?
答:
构造函数不能为虚函数
。原因是在建立一个对象时,构造函数必须知道其确切类型,否则编译器无法进行存贮空间的分配。要使构造函数具有虚函数的效果,通过以下方法:例:class Base { public:Base(); // 确省构造函数 Base(const Base&); // 拷贝构造函数 virtual Base* new_Obj() { return new Bas...
为什么C++的
构造函数
不
可以是虚函数
,而析构
答:
③
构造函数
不需要
是虚函数
,也不允许是虚函数,因为创建一个对象时我们总是要明确指定对象的类型,尽管我们可能通过实验室的基类的指针或引用去访问它。但析构却不一定,我们往往通过基类的指针来销毁对象。这时候如果析构函数不是虚函数,就不能正确识别对象类型从而不能正确调用析构函数。④从实现上看...
c++的
构造函数能
不能用virtual修饰?
答:
不能!
构造函数
用来创建一个新的对象,而虚函数的运行是建立在对象的基础上,在构造函数执行时,对象尚未形成,所以不能将构造函数定义
为虚函数
。通常析构函数才会用virtual修饰
C++ 中什么样的
函数可以
作为
虚函数
答:
5.普通函数:普通函数不属于成员函数,是不
能被
继承的。普通函数只能被重载,不能被重写,因此
声明为虚函数
没有意义。因为编译器会在编译时绑定函数。三,哪些
函数可以
成为虚函数呢?1.普通的成员方法是可以成为虚函数的 2.还有析构函数,因为析构函数是为了释放对象的,所以之前我们的对象已经生成,而且...
c++里类的哪些成员函数不
能是虚函数
答:
1)构造函数不
能被
继承,因而不能声明为virtual函数 (2)构造函数一般是用来初始化对象,只有在一个对象生成之后,才能发挥多态 作用,如果将
构造函数声明为
virtual函数,则表现为在对象还没有生成的情 其实很简单,那内联函数就是为了在代码中直接展开,减少函数调用花费的代价,
虚函数
是为了在继承后对象...
C++对象生灭 问题!
答:
析构函数正好相反, 先析构最后
声明
的数据, 依次向前, 然后按照继承相反的顺序析构基类 4. 对象赋值与拷贝
构造函数
class T{ T(const T&); // 复制函数, 不管加不加const都算, 原则上加 T& operator =(const T&) // 同上, 赋值操作符 };虽然语法允许将赋值操作符设置
为虚函数
, 但是请不...
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
能否声明虚构造函数
构造函数可以说明为虚函数
构造函数可以是纯虚函数吗
构造函数可以声明为纯虚函数
类的构造函数可以是虚函数吗
构造函数可不可以是虚函数
构造函数也可以定义为虚函数
析构函数可以是虚函数吗
构造函数可以作为虚函数吗