通过指针更改私有数据成员是不可能的?

法特梅·卡里米(Fatemeh Karimi)

我试图通过指针访问数据成员,因此我编写了以下代码:

#include <iostream>
#include <string>

using namespace std;

class test{
public:
    int * returnAdd();
    int getA();
    void setmember(int x);
private:
    int a;
};

int *test::returnAdd()
{
    return &a;
}

int test::getA()
{
    return a;
} 

void test::setmember(int x)
    {
        a = x;

        return;
    }

int main(void)
{
    test test1;

    int *a = test1.returnAdd();
    test1.setmember(12);
    *a++;
    cout << test1.getA() << endl;
    cout << *a << endl;

    return 0;
}

我希望数据成员(a)的值将变为13,但不会发生。然后我打印了* a的值,那是垃圾。我不知道为什么当a指向其位置时,数据成员的值没有改变?为什么* a包含垃圾,甚至没有数据成员a的值的副本????

麦克

*a++; 并不意味着:

  1. 取消引用 a
  2. 增加它(由指向什么a

*a++; 手段:

  1. 取消引用 a
  2. 递增指针 a

使用(*a)++;以增量是什么指向。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

指向类的私有数据成员的指针

来自分类Java

如何通过反射访问私有方法和私有数据成员?

来自分类Dev

多态和私有数据成员

来自分类Dev

关于lambda,向函数指针的转换以及私有数据成员的可见性

来自分类Linux

更改类私有数据成员的顺序是否会破坏ABI

来自分类Dev

如何停止访问私有数据成员?

来自分类Dev

为什么我们可以使用指针访问私有数据成员类,而不使用类中的其他成员,朋友功能?

来自分类Dev

C ++不可能的指针行为

来自分类Dev

结构上的Swift扩展使私有初始化保护变得不可能

来自分类Dev

Swift字典:键值是否不可能有数组?

来自分类Dev

是否不可能返回对指向const数据的const指针的引用?

来自分类Dev

不可能更改gitlab项目网址

来自分类Dev

为什么不可能有指向返回引用的指针?

来自分类Dev

没有指针就不可能在循环中构造实例吗?

来自分类Dev

C ++-朋友运算符无法访问私有数据成员

来自分类Dev

实例是否应该使用setter / getter访问其自己的私有数据成员?

来自分类Dev

获取用于非侵入式Boost序列化C ++的私有数据成员

来自分类Dev

将私有数据成员添加到野牛生成的类

来自分类Dev

如何将文件的特定部分读入私有数据成员

来自分类Dev

如何在C ++中限制对象私有数据成员的修改?

来自分类Dev

我如何将私有数据与公共数组成员相关联?

来自分类Dev

通过tcp接收数据后从printf获取不可能的输出

来自分类Dev

分配取消引用的字符指针真的不可能吗?

来自分类Dev

C++/QT:使用指向私有成员的常量指针作为只读数据共享

来自分类Dev

.txt 文件中的数据长度问题。打印所有行是不可能的

来自分类Dev

如何访问通过引用运算符=函数传递的对象的私有数据?

来自分类Dev

如何通过指针更改类成员值

来自分类Dev

没有数据时如何使不可见的数据表成为可能?

来自分类Dev

了解“不可能”

Related 相关文章

  1. 1

    指向类的私有数据成员的指针

  2. 2

    如何通过反射访问私有方法和私有数据成员?

  3. 3

    多态和私有数据成员

  4. 4

    关于lambda,向函数指针的转换以及私有数据成员的可见性

  5. 5

    更改类私有数据成员的顺序是否会破坏ABI

  6. 6

    如何停止访问私有数据成员?

  7. 7

    为什么我们可以使用指针访问私有数据成员类,而不使用类中的其他成员,朋友功能?

  8. 8

    C ++不可能的指针行为

  9. 9

    结构上的Swift扩展使私有初始化保护变得不可能

  10. 10

    Swift字典:键值是否不可能有数组?

  11. 11

    是否不可能返回对指向const数据的const指针的引用?

  12. 12

    不可能更改gitlab项目网址

  13. 13

    为什么不可能有指向返回引用的指针?

  14. 14

    没有指针就不可能在循环中构造实例吗?

  15. 15

    C ++-朋友运算符无法访问私有数据成员

  16. 16

    实例是否应该使用setter / getter访问其自己的私有数据成员?

  17. 17

    获取用于非侵入式Boost序列化C ++的私有数据成员

  18. 18

    将私有数据成员添加到野牛生成的类

  19. 19

    如何将文件的特定部分读入私有数据成员

  20. 20

    如何在C ++中限制对象私有数据成员的修改?

  21. 21

    我如何将私有数据与公共数组成员相关联?

  22. 22

    通过tcp接收数据后从printf获取不可能的输出

  23. 23

    分配取消引用的字符指针真的不可能吗?

  24. 24

    C++/QT:使用指向私有成员的常量指针作为只读数据共享

  25. 25

    .txt 文件中的数据长度问题。打印所有行是不可能的

  26. 26

    如何访问通过引用运算符=函数传递的对象的私有数据?

  27. 27

    如何通过指针更改类成员值

  28. 28

    没有数据时如何使不可见的数据表成为可能?

  29. 29

    了解“不可能”

热门标签

归档