【问题标题】:Trouble making access methods for an array of pointers to classes为指向类的指针数组创建访问方法时遇到问题
【发布时间】:2011-10-01 22:19:50
【问题描述】:

在为指向对象的指针数组创建访问方法时遇到问题。

    class DummyClass
    {
    private:
        class Object
            {
                friend Dummyclass;
            };

        Object* Array[SIZE];

    public:
        void Set (int iii, Object *pointer) { Array[iii] = pointer; };
        Object *& Get (int iii) { return Array[iii]; };

    };

这就是类的样子。 在 DummyClass 的方法中,我尝试将指针访问为:

    Array->Set(0, pointer);
    Object* temporary_pointer = Array->Get(1);

现在,这显然行不通,但我已经筋疲力尽,不知道为什么。 任何帮助或建议表示赞赏。提前致谢。

【问题讨论】:

  • 您为什么希望ObjectDummyClass 中是私有的?
  • 它是一种表格形式,其中 Objects 是 DummyClass 中的元素。
  • 您需要更具体地说明“不起作用”。

标签: c++ arrays pointers object


【解决方案1】:

鉴于您的声明:

    Object* Array[SIZE];

Array 是一个普通的 C 数组。所以你可以执行:

Array[iii] = pointerToObj;

设置它的第 iii 个元素(使用 0 <= iii < SIZE)。

编辑:

如果你声明一个对象:

  DummyClass dummyObject;

那么你可以这样做:

     dummyObject->Set(0, pointer);
     Object* temporary_pointer = dummyObject->Get(1);

【讨论】:

  • 是的,我实际上是在方法实现中这样做的,但我正在尝试使用方法访问指针。
  • 当然,非常感谢!我才意识到我在问一个完全愚蠢的问题。我没有意识到我不需要类访问方法来使用私有对象。所以我的问题是多余的。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-12
  • 2021-08-27
  • 1970-01-01
  • 2016-01-20
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
相关资源
最近更新 更多