繁体   English   中英

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

[英]How to access dynamic array inside a class constructor?

如何访问动态数组并为其设置值? 例如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();

    //.....;
}

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM