假设一个类的定义如下:
class Ob{
public:
Ob() : a(1), b(10) {}
int a;
private:
int b; };
???? 试编一段程序,用指针偏移的方法通过访问a去获取
b的值。
这个题目不太明白?是要编一个b[10]数组的类么?还是什么意思呢?

 

答:

类ob的a成员和b成员,紧挨着,所以:a的地址加sizeof(int)就是b的地址。

Ob ob;

int *p=&ob.a+sizeof(int);

int t=*p;//这里取的,就是ob.b的值

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-01
  • 2021-08-13
相关资源
相似解决方案