gpt4 book ai didi

c++从嵌套类方法访问变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:00 26 4
gpt4 key购买 nike

如何从其嵌套类方法访问类属性?

class Class1
{
public:
int attribute;
void Method1() {
class Class2
{
public:
void Method2() {
//here I need to access attribute from Class1
}
};
}
};

最佳答案

以下是对 OP 代码进行微小更改的一种方法。

#include <cassert>

class Class1
{
public:
Class1( int attribute ) : attribute_( attribute ) {
}
void Method1() {
class Class2
{
public:
Class2( Class1 * parent ) : parent_( parent ) {
}
int parentAttribute() const {
return parent_->attribute_;
}
private:
Class1 * parent_;
};
Class2 c2( this );
assert( c2.parentAttribute() == attribute_ );
}
private:
int attribute_;
};

int main() {
Class1 c1( 42 );;
c1.Method1();
}

代码也发布在 http://codepad.org/MUF3a8jL

关于c++从嵌套类方法访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15886345/

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