gpt4 book ai didi

c++ - 读取私有(private)变量类成员

转载 作者:太空宇宙 更新时间:2023-11-04 15:15:49 24 4
gpt4 key购买 nike

我是 C++ 的新手,我需要在不同类的方法中读取类的私有(private)类成员,例如:

class a{
private:
int x;

}

class b{
void foo();
}

void b::foo(){
//here I want to read from x that's in a
}

我是否必须在 class a 中设置一个函数,例如 int readx(){return x);)a readclass(){return *这个);?还有别的办法吗?

最佳答案

类的私有(private)部分的目标是“隐藏”您处理数据的方式,提供一种使用公共(public)方法访问所述数据的简化方式。使用公共(public)方法更改私有(private)成员值的优点是,例如,您可以只允许 'x' 的值介于 0 和 10 之间。

在您的情况下,您应该考虑“x”在您的第一个类中代表什么,以及第二堂课是否可以在没有任何控制或特殊考虑的情况下直接访问它。如果是这种情况,它可能应该是一个公共(public)值。在另一种情况下,您需要创建一个公共(public)方法来读取它,就像您的 readx 示例一样。如果只有 'b' 有权直接访问 'x',您还可以定义一个友元函数,就像有人已经说过的那样。

请注意,返回一个指向实例的指针将不允许访问该类的私有(private)成员。

关于c++ - 读取私有(private)变量类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33565841/

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