XX软件公司的笔试题:
C++标准中,虚表指针在类的内存结构位置没有规定,不同编译器的实现可能是不一样的。请实现一段代码,判断当前编译器把虚表指针放在类的内存结构的最前面还是最后面。
当时的解答是:
#include <iostream>
using namespace std;
typedef unsigned (*Fun)(void);
class Base
{
public:
Base(void){}
virtual unsigned foo(void)
{
cout<<"Construct Base"<<endl;
return 1;
}
public:
virtual ~Base(){}
};
class Derive : public Base
{
public:
Derive(void){}
virtual unsigned foo(void)
{
cout<<"Construct Derive"<<endl;
ret