发布网友 发布时间:2022-09-30 16:26
共2个回答
好二三四 时间:2022-09-30 20:47
c++中的虚函数的作用如下:
1、实现多态性,多态性是将接口与实现进行分离。
2、实现以共同的方法,但因个体差异而采用不同的策略。
3、在有可能成为父类时,虚函数可以被同名子类函数覆盖,安全系数高。
4、虚函数的主要作用是对派生类实现动态联编。
5、调用的函数在基类中被说明为虚函数,子类中该函数会自动成为虚函数。
好二三四 时间:2022-09-30 20:47
c++中的虚函数的作用如下:
1、实现多态性,多态性是将接口与实现进行分离。
2、实现以共同的方法,但因个体差异而采用不同的策略。
3、在有可能成为父类时,虚函数可以被同名子类函数覆盖,安全系数高。
4、虚函数的主要作用是对派生类实现动态联编。
5、调用的函数在基类中被说明为虚函数,子类中该函数会自动成为虚函数。
懂视网 时间:2023-02-16 03:32
虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合适的成员函数,在定义了虚函数后,可以在基类的派生类中对虚函数重新定义,在派生类中重新定义的函数应与虚函数具有相同的形参个数和形参类型。以实现统一的接口,不同定义过程。如果在派生类中没有对虚函数重新定义,则它继承其基类的虚函数。
虚函数必须是基类的非静态成员函数,其访问权限可以是private或protected或public,在基类的类定义中定义虚函数的一般形式。在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,实现多态性。
热心网友 时间:2023-02-16 00:40
虚函数的作用在面向对象的C++语言中,虚函数(virtual function)是一个非常重要的概念。因为它充分体现了面向对象思想中的继承和多态性这两大特性,在C++语言里应用极广。比如在微软的MFC类库中,你会发现很多函数都有virtual关键字,也就是说,它们都是虚函数。难怪有人甚至称虚函数是C++语言的精髓。虚函数是指一个类中你希望重载的成员函数,当你用一个基类指针或引用指向一个继承类对象的时候,你调用一个虚函数,实际调用的是继承类的版本。——摘自MSDN这个定义说得不是很明白。MSDN中还给出了一个例子,但是它的例子也并不能很好的说明问题。我们自己编写这样一个例子:#i nclude "stdio.h"#i nclude "conio.h"class Parent{public:char data[20];void Function1();virtual void Function2(); // 这里声明Function2是虚函数}parent;void Parent::Function1(){printf("This is parent,function1\n");}void Parent::Function2(){printf("This is parent,function2\n");}class Child:public Parent{void Function1();void Function2();} child;void Child::Function1(){printf("This is child,function1\n");}void Child::Function2(){printf("This is child,function2\n");}int main(int argc, char* argv[]){Parent *p; // 定义一个基类指针if(_getch()=='c') // 如果输入一个小写字母cp=&child; // 指向继承类对象elsep=&parent; // 否则指向基类对象p->Function1(); // 这里在编译时会直接给出Parent::Function1()的入口地址。