c++中virtual的用法

c++中virtual的用法


2024年2月22日发(作者:3d打印技术介绍)

c++中virtual的用法

第1 章C++中virtual的用法

1.1 概述

C++中的virtual用法是指在类声明中声明函数成员为虚函数,即在函数前加入关键字virtual,表示该函数为虚函数,可以使用多态特性。C++中的virtual用法大多都是在类继承时使用,以便利用多态特性。

1.2 虚函数

C++中的virtual关键字,表示该函数为虚函数,也就是说,该函数可以拥有多态特性,也就是子类可以实现覆盖父类中同名的虚函数,并在调用时,根据实际类型调用子类覆盖后的函数,以此实现多态特性。

1.3 virtual的用法

(1)virtual 用法示例

class A

{

public:

virtual void dosomething();

};

class B:public A

{

public:

- 1 -

void dosomething();

};

在上述示例中,A类中有一个dosomething函数声明为虚函数(virtual),B类是A类的子类,B类中也有一个同名的dosomething函数,该函数实际上会覆盖A类中的dosomething函数,也就是实现了多态特性,当A类的实例化对象调用函数dosomething时,会按照实际类型来调用B类中的dosomething函数。

(2)virtual 的注意事项

(2.1)纯虚函数

class A

{

public:

virtual void dosomething()=0;

};

纯虚函数(pure virtual function)是一种特殊的虚函数,它没有实现任何具体的功能,它只是声明,以表示它可以被其他子类实现,A类中的dosomething函数就是一个纯虚函数,它的意思是A类并没有实现dosomething函数,只是声明可以被子类实现,也就是说子类必须覆盖A类中的dosomething函数以实现多态特性。

(2.2)覆盖virtual的函数

class A

- 2 -

{

public:

virtual void dosomething();

};

class B:public A

{

public:

virtual void dosomething();

};

当B类继承自A类,并实现同名的virtual函数时,B类会覆盖A类中的dosomething函数,在调用B类的dosomething函数时,会去调用B类中的dosomething函数,而不是A类中的dosomething函数,从而实现多态特性。

1.4 结论

C++中的virtual用法是在类声明中标记函数为虚函数,可以使用多态特性,以便子类实现覆盖父类中同名的虚函数,而不是去调用父类中的虚函数,从而实现多态特性。

- 3 -


发布者:admin,转转请注明出处:http://www.yc00.com/num/1708606080a1577180.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信