gpt4 book ai didi

c++ - 如何在 C++ 中访问类中的私有(private)数组

转载 作者:搜寻专家 更新时间:2023-10-31 01:10:14 25 4
gpt4 key购买 nike

Struct S
{int a,b,c};

class A{
S myArray[MAX]
void fillArrayFromFile();
};

class B{
void printStyle1();
void printStyle2();
void printSTyle3();
};

class C{
void printStyle4();
void printStyle5();
void printSTyle6();
};

所以考虑到那段假装代码......

我希望 B 类和 C 类能够从 A 类的数组中读取信息,而不能更改数据。

访问函数会非常麻烦,因为我必须为每种不同的输出格式编写一个函数,或者创建一个临时结构来保存数据并将其传递给调用类,这样它就可以。这似乎不是最佳解决方案。

友元函数可以访问类的成员,但不能访问我需要访问的实例(除非我误解了友元函数......)

公开数组将允许我希望访问/操作数据的两个类以外的类访问/操作数据。

最佳答案

如果您想让客户端能够检查数组的内容,您可以使用 A 中的单个成员函数来实现。

class A
{
S myArray[MAX]
void fillArrayFromFile();
public:
const S* getArrayPointer() const { return &myArray; }
};

这与允许他们直接只读访问具有相同的效果。

关于c++ - 如何在 C++ 中访问类中的私有(private)数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16138522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com