sizeof

#include<iostream.h>
#include<stdio.h>
class ClassA
{
public:
virtual ~ ClassA(){};
virtual void FunctionA(){};
};
class ClassB
{
public:
char p[40];
virtual void FunctionB(){};
};
class ClassC : public ClassA,public ClassB
{
public:
};
int main(){
ClassC aObject;
ClassA* pA=&aObject;
ClassB* pB=&aObject;
ClassC* pC=&aObject;
cout<<pA<<endl;
cout<<pB<<endl;
cout<<pC<<endl;
ClassA* pA2;
//pA2=static_cast<ClassA*>(pB);
void* pVoid=static_cast<void*>(pB);
pA2=static_cast<ClassA*>(pVoid);
//pA2=pB;
pA2=static_cast<ClassA*>(static_cast<ClassC*>(pB));

cout<<sizeof(ClassA)<<endl;
cout<<sizeof(ClassB)<<endl;
cout<<sizeof(ClassC)<<endl;
return 0;}

 

红色部分,内存分配最小四个字节?

posted @ 2012-09-23 03:17  ppshinebl  阅读(215)  评论(0编辑  收藏  举报