如何使用“sizeof”运算符和“virtual”运算符

时间:2013-05-08 20:18:01

标签: c++

我的小程序中有以下代码

          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

0 个答案:

没有答案