下列关于虚函数的描述,不正确的是( )
a.全局变量在任何函数体内都有效
b.不能将析构函数说明为虚函数
c.虚函数不能是静态的成员函数
d.为了实现多态性,派生类必须重新定义基类的虚函数
这道选择题怎么做,求大神们给个解释。
不正确的只有D.
虚拟函数不一定需要重新定义和实现,
只有纯虚函数才需要实现(如果你的子类不是抽象类)
a的说法确实是不正确和恰当的, 因为全局变量和虚函数没关系可以说这答案跑题了.
而且全局变量也有范围的.并不是在所有的函数内都一定可见.
选择d,只有抽象函数才必须在派生类实现。虚函数不一定。
我觉得除了C都有问题。。。
a. 当函数体内有同名变量时,全局变量被屏蔽,因此无效
b. 存在派生关系的类,基本析构都是虚函数
d. 楼上已经解释了
b和c有问题,其它应该是对的。
B肯定不正确,析构函数作用是释放对象实例化时创建的资源,子类析构时候,可能需要释放自己单独于父类申请的资源,所以提倡声明析构函数为虚函数