首页 > 试题广场 >

以下描述正确的是( )?

[单选题]

以下描述正确的是( )?

  • 虚函数是可以内联的,可以减少函数调用的开销,提高效率
  • 类里面可以同时存在函数名和参数都一样的虚函数和静态函数
  • 父类的析构函数是非虚的,但是子类的析构函数是虚的,delete子类对象指针会调用父类的析构函数
  • 选项都不对
选C,删除子类后,会调用子类的析构函数,子类的析构函数是虚函数,因此往上寻找父类,调用了父类的析构函数
编辑于 2019-08-08 20:31:48 回复(0)
虚函数在运行时呈现的多态,如果虚函数是内联的话,编译器不清楚运行时调用什么代码。


同一个类不可能同时存在函数名和参数都一样的虚函数和静态函数。

发表于 2020-04-22 13:48:28 回复(0)

A:虚函数意味在运行期确定函数的调用地址,内联是直接将函数插入到代码中,二者作用冲突,虽然能通过编译,但是inline没有实际效果.
B:不可以同时存在,staticvirtual都可以被重载,本选项中编译器会提示:‘static void Test::xixi(int)’ cannot be overloaded
C:对

发表于 2019-08-26 21:29:55 回复(0)
楼上回答的什么玩意,这题C选项和多态没有一毛钱关系,析构子类对象本来就会调用父类的析构函数,和父类或者子类析构函数虚不虚没有任何关系。
发表于 2019-08-27 19:15:35 回复(1)