0

我的小程序中有以下代码

          class myc {
             int dummy;
                public:
             virtual int si(){return sizeof(*this);}
               };


             int main() {
                 myc a;

          cout<<a.si()<<endl;

          cin.get();

              return 0;
              }

输出是 8 ,但正如我预期的那样,它应该是 4 有人能告诉我为什么当我将 si() 方法更改 virtual int si(){return sizeof(*this);}int si(){return sizeof(*this);}

我得到正确的输出,即 4

4

0 回答 0