用指针访问类中private成员

C++中,利用指针可以访问private数据成员。

先看下面代码:

程序执行的结果如下:

x::1

y::2

getClassValue:: 1

getClassValue:: 2

从执行的结果可以看出,程序确实访问到了类中的private成员变量。

在上面代码中,int* flag = (int*)(ctest);声明了一个指向类对象的指针,这一步是最重要的,先有一个指针指向对象的初始地址,之后移动这个指针,就可以访问到类的成员。从执行的结果来看,类中成员在内存中的存放顺序应该有如下表示:

           

由上图可以看到,若顺序移动指针flag,则可以顺序访问到类的private变量xy。程序的输出也符合这样的推测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值