C++面向对象入门(三十三)构造和析构中的虚函数调用

析构函数中虚函数的调用采用静态联编
即构造函数和析构函数调用自己类中定义的虚函数, 而不会调用派生类中声明的虚函数

 

代码示例:

#include <iostream>
using namespace std;
/*
析构函数中虚函数的调用采用静态联编
即构造函数和析构函数调用自己类中定义的虚函数, 而不会调用派生类中声明的虚函数

*/
class A50
{
public:
 A50();
 ~A50();
 virtual void func1();
 virtual void func2();
};
class B50: public A50
{
public:
 virtual void func1();
 virtual void func2();
};
void test()
{
 B50 b;
}

int main()
{
 test();
 system("pause");
}
A50::A50()
{
 func1();
}
A50::~A50()
{
 func2();
}
void A50::func1()
{
 cout << "func1() of A50" << endl;
}
void A50::func2()
{
 cout << "func2() of A50" << endl;
}

void B50::func1()
{
 cout << "func1() of B50" << endl;
}
void B50::func2()
{
 cout << "func2() of B50" << endl;
}
posted @ 2020-09-01 16:39  DNoSay  阅读(162)  评论(0编辑  收藏  举报