首页 > 试题广场 >

下面有关虚函数的描述,说法错误的是?

[单选题]
下面有关虚函数的描述,说法错误的是?
  • 虚函数的作用是实现了继承性
  • 虚函数的作用就是实现“动态联编”,也就是在程序的运行阶段动态地选择合适的成员函数
  • 和类的静态成员函数与非类的成员函数相比,虚函数的效率较低
  • 要正确的实现虚函数,只能用一个基类的指针或者引用来指向派生类对象
虚函数的作用是实现了多态,不是继承性
发表于 2016-05-06 22:25:47 回复(1)
普通函数是编译时就确定了函数的地址,而虚函数要在运行时查询虚函数表,因此效率低一些
发表于 2015-11-10 13:54:15 回复(1)
多态主要以两种形式,静态多态和动态多态,静态多态主要实现了函数重载和运算符重载。动态多态主要实现了虚函数。虚函数是动态联编,程序在运行的过程中确定调用哪一个函数。
发表于 2015-10-06 20:00:49 回复(2)

动态联编规定,只能通过指向基类的指针或基类对象的引用来调用虚函数,其格式为:指向基类的指针变量名 -> 虚函数名(实参表)或基类对象的引用名 . 虚函数名(实参表)

实现动态联编需要同时满足以下三个条件:

  必须把动态联编的行为定义为类的虚函数。

  类之间应满足子类型关系,通常表现为一个类从另一个类公有派生而来。

  必须先使用基类指针指向子类型的对象,然后直接或者间接使用基类指针调用虚函数
虚函数的作用是实现了多态,不是继承性
普通函数是编译时就确定了函数的地址,而虚函数要在运行时查询虚函数表,因此效率低一些
多态主要以两种形式,静态多态和动态多态,静态多态主要实现了函数重载和运算符重载。动态多态主要实现了虚函数。虚函数是动态联编,程序在运行的过程中确定调用哪一个函数
发表于 2017-06-04 21:00:40 回复(0)
虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。
发表于 2017-05-27 10:58:05 回复(0)
多态主要有两种形式,包括静态多态和动态多态,静态多态主要实现出函数重载与运算符重载,动态多态主要通过虚函数来实现
发表于 2016-05-23 14:28:54 回复(0)
举个例子:
那怎么办呢?C++里头怎么让基类指针指向子类对象能够调用子类同名函数?就是加虚函数,变成跟JAVA一样的结果。

由上图,没学过JAVA也可以推断出   JAVA里头的成员函数定义全都是并且绝逼都是默认为虚函数的。
发表于 2019-04-12 11:04:44 回复(0)
虚函数是为了实现多态,然而要实现多态必须满足以下条件:1。必须有一个基类的指针或引用指向派生类 2。基类的一个虚函数必须在派生类中被重写。
发表于 2017-05-20 07:25:25 回复(1)

我没看懂这个D想表达什么,如果你说你想表达实现动态绑定我还理解。实现虚函数?纳尼?子类直接创建对象,调用函数,调用的不是虚函数?

发表于 2018-10-05 00:34:01 回复(0)
  • 要正确的实现虚函数,只能用一个基类的指针或者引用来指向派生类对象
  • 甚至看不懂什么意思
发表于 2018-01-05 20:28:22 回复(1)
虚函数实现了多态,并没有实现继承,没有继承的作用,再说说D指针当然没问题,要是引用呢,如果传的是原引用,那么可以,要是强转以后或者赋值构造后的就不行了。
发表于 2016-11-14 20:55:58 回复(0)
A 多态
发表于 2015-05-03 14:24:10 回复(0)
答案: A
虚函数的作用是实现了多态性
发表于 2015-01-13 12:18:15 回复(0)