#include <stdio.h>
class A{
public:long a;
};
class B : public A {
public:long b;
};
int main() {
B bArray[4];
A* aArray = bArray;
for(int i=0; i<4; ++i){
bArray[i].a = 1;
bArray[i].b = 1;
aArray[i].a=2;
}
for(int i=0; i<4; ++i){
printf("%ld%ld",bArray[i].a, bArray[i].b);
}
return 0;
}
打印结果22221111
因为B的步长为8,A的步长为4,指针bArray加1的长度是8,而指针aArray加1的长度为4