C++中“析构函数中调用虚函数采用静态联编”为什么正确?
展开全部
在构造函数和析构函数中调用虚函数,编译系统对构造函数和析构函数中调用虚函数采用静态联编,因为它们所调用的虚函数是自己的类,或者基类中定义的函数而不是在任何派生类中重定义的函数。所有这句话说的是正确的。
下面介绍一些相关知识:
什么是静态联编:
即在编译过程中进行联编被称为静态联编(static binding),又称为静态绑定、早期联编。
什么是动态联编:
即编译器必须能够在程序运行时选择正确的函数的代码,这被称为动态联编(dynamic binding),又称为动态绑定、晚期联编。
什么是虚函数:
虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用基类型别的指针指向其派生类的实例,然后通过基类的指针调用实际派生类的成员函数(基类指针可调用同名覆盖方法)。这种技术可以让基类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。
下面介绍一些相关知识:
什么是静态联编:
即在编译过程中进行联编被称为静态联编(static binding),又称为静态绑定、早期联编。
什么是动态联编:
即编译器必须能够在程序运行时选择正确的函数的代码,这被称为动态联编(dynamic binding),又称为动态绑定、晚期联编。
什么是虚函数:
虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用基类型别的指针指向其派生类的实例,然后通过基类的指针调用实际派生类的成员函数(基类指针可调用同名覆盖方法)。这种技术可以让基类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询