2016 - 2024

感恩一路有你

虚基类的作用是什么 怎样理解c 中的虚基类和虚函数.纯虚函数?

浏览量:1683 时间:2021-03-12 09:32:40 作者:admin

怎样理解c 中的虚基类和虚函数.纯虚函数?

虚拟函数和纯虚拟函数有以下区别。(1) 如果在类中声明了虚函数,则即使该函数为空,也会实现该函数。它的目的是使函数能够包含在其子类中。这样,编译器就可以使用后期绑定来实现多态性。纯虚函数只是一个接口,一个函数的声明,需要在子类中实现。(2) 虚拟函数不能在子类中重载,但是纯虚拟函数必须在子类中实现,就像Java接口一样。一般来说,在许多函数中添加虚拟元素是一个好习惯。虽然牺牲了一些性能,但是面向对象的多态性增加了,因为很难预测父类中的函数不在子类中,并且它的实现不会被修改。(3) 虚函数类用于“实现继承”,不仅继承接口,而且继承父类的实现。当然,你也可以完成你自己的实现。纯虚函数注重接口的统一性,通过子类实现。(4) 具有纯虚函数的类称为虚基类。这种基类不能直接生成对象。只有继承并重写虚拟函数后才能使用。这样的类也称为抽象类。

C/C :抽象类与虚基类的区别?

语法中有抽象类和虚拟基类,这并不意味着您必须使用它们。我通常不使用花哨的东西。我可以想到使用抽象类,也许可以利用这个优势:包含纯虚函数的类是抽象类。基类实际上并不使用这个函数,它只是告诉编译器在这里声明一个虚函数,让它在派生类中定义。为类族提供公共接口。例如,要计算平面形状的面积,在抽象类基类中,虚float area()const=0派生类三角形,派生类circle定义area()的具体计算。一旦我们有了一个派生的三角形或圆,我们就可以使用相同的函数名。Area()计算面积。虚拟基类的构造应该在派生类中完成,并且在派生类本身的构造之前完成。当存在派生类1、派生类2和生成的派生类12时,派生类12只执行一次虚拟基类的构造。虚拟基类只有一个对象。至于它的特殊用途,我没想到。

虚基类的作用是什么 覆盖和重写的区别 虚基类和抽象类的区别

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。