虚表问题,求大神们帮帮忙看看
坏蛋编程 2013-10-30 10:48:03 想通过虚表来输出一个age。。为什么老是输出错误啊。
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
class Animal{
int age;
public:
virtual void run(){
cout<<"animal run"<<endl;
}
Animal(int age=10):age(age){
}
};
class Cat:public Animal{
public:
void run(){
cout<<"猫去抓老鼠"<<endl;
}
};
int main(){
cout<<sizeof(Animal)<<endl;
Animal a(20);
cout<<sizeof a<<endl;
int *pi=static_cast<int*>(malloc(4));
memcpy(pi,&a+5,4);
cout<<"age="<<*pi<<endl;
}