C++面向对象入门(三十三)构造和析构中的虚函数调用
析构函数中虚函数的调用采用静态联编
即构造函数和析构函数调用自己类中定义的虚函数, 而不会调用派生类中声明的虚函数
即
代码示例:
#include <iostream>
using namespace std;
using namespace std;
/*
析构函数中虚函数的调用采用静态联编
即构造函数和析构函数调用自己类中定义的虚函数, 而不会调用派生类中声明的虚函数
即
*/
class A50
{
public:
A50();
~A50();
virtual void func1();
virtual void func2();
};
析构函数中虚函数的调用采用静态联编
即构造函数和析构函数调用自己类中定义的虚函数, 而不会调用派生类中声明的虚函数
即
*/
class A50
{
public:
A50();
~A50();
virtual void func1();
virtual void func2();
};
class B50: public A50
{
public:
virtual void func1();
virtual void func2();
};
{
public:
virtual void func1();
virtual void func2();
};
void test()
{
B50 b;
}
{
B50 b;
}
int main()
{
test();
system("pause");
}
A50::A50()
{
func1();
}
{
func1();
}
A50::~A50()
{
func2();
}
{
func2();
}
void A50::func1()
{
cout << "func1() of A50" << endl;
}
{
cout << "func1() of A50" << endl;
}
void A50::func2()
{
cout << "func2() of A50" << endl;
}
{
cout << "func2() of A50" << endl;
}
void B50::func1()
{
cout << "func1() of B50" << endl;
}
void B50::func2()
{
cout << "func2() of B50" << endl;
}
{
cout << "func2() of B50" << endl;
}
路漫漫其修远兮,吾将上下而求索。