微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

访问另一个班级中的一个班级成员

如何解决访问另一个班级中的一个班级成员

class A
{
 public:
    int m_count;
    int m_values[300];
    void Method1();
}
class B
{
    void Method2();
}

void A::Method1()
{
    for(int i=0; i<m_count; i++)
    {
        creates instances of class B
    }
}

B :: Method2()对于类B的每个实例都需要类A的m_values数组。这里,类A中的另一个函数每分钟更新一次m_values。 是否可以在类B的所有实例中访问类A的m_values?

解决方法

class A {
private:
    Type m_values[300];
public:
    Type getValue(int index) { return m_values[index]; }
};

class B {
private:
    A &a;
public:
    void Method2() { /* can call a.getValue(<number>); */ }
    B b(A &a) : a(a) {}
};

void A::Method1()
{
    for(int i=0; i<m_count; i++) {
        creates instances of class B
        B b(*this);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。