64,643
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class A
{
public:
void printInfo()
{
cout << a1 << '\t' << a2 << '\t' << a3 << '\t' << endl;
}
private:
int a1;
int a2;
double a3;
};
class B
{
public:
void printInfo()
{
cout << b1 << '\t' << b2 << '\t' << b3 << '\t' << endl;
a.printInfo();
}
private:
int b1;
int b2;
float b3;
A a;
};
int main(void)
{
B b;
*((int*)&b) = 1;
*((int*)&b + 1) = 2;
*(float*)((int*)&b + 2) = 3.3f;
*((int*)((A*)((int*)&b + 4))) = 4;
*((int*)((A*)((int*)&b + 5))) = 5;
*((double*)((A*)((int*)&b + 6))) = 6.6;
b.printInfo();
return 0;
}
size_t offsetof(
structName,
memberName
);