如何在类构造函数中访问动态数组?

时间:2015-03-08 20:14:25

标签: c++ arrays class private

如何访问动态数组并为其设置值?例如,array [size] = {8,4,3,2,...}

class Array
{
public:
    Array(int sze)// default constructor
    {
        size = sze;
        ptr = new int [size];
    }

private:
    int size; // number of elements in the Array
    int *ptr = 0; // address of dynamically allocated memory

};

int main()
{
    Array arry(10);
    cout << arry.getSize();

    //.....;
}

1 个答案:

答案 0 :(得分:1)

您创建的数组是private,要访问它,您必须提供一个访问方法:

public:
    ...
    int* getPtr() { return ptr; }
...
int *ptr = arry.getPtr();
ptr[0] = 1;
cout << ptr[0];

或者,您可以隐藏指针本身,并提供get(position)set(position)方法,以确保其他代码不会弄乱您的指针。