gpt4 book ai didi

c++ - 指向类的私有(private)数据成员的指针

转载 作者:IT老高 更新时间:2023-10-28 21:38:38 25 4
gpt4 key购买 nike

是否可以声明指向类的私有(private)数据成员的指针?如果是这样,你是怎么做的?

最佳答案

是的,与创建任何其他指针的方式相同。当然,要注意的是,由于成员是私有(private)的,因此您只能在类内部创建指针,您可以在其中看到该成员。

class A 
{
public:
int* getFooPtr()
{
return &foo; // OK; Inside the class foo is visible
}

private:
int foo;
};

int main()
{
A a;

int* p_foo1 = &a.foo; // Illegal; Outside the class, foo is private
int* p_foo2 = a.getFooPtr(); // OK; getFooPtr() is a public member function
}

因此可以创建指向私有(private)成员的指针,但只能在类的成员函数内部,并且可以从成员函数返回这些创建的指针。返回指向私有(private)成员的指针是否是一个好主意完全是另一个问题(通常这不是一个好主意)。

关于c++ - 指向类的私有(private)数据成员的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3174763/

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