如何从另一个类的成员函数访问数据成员和成员函数?

时间:2011-05-09 05:59:21

标签: c++

如果我写一个班级 -

class A
{
    int x;
    void show()
    {
       cout<<a;
    }
};

int main()
{
   A a;
   a.show();
   a.x;
}

但是如果另一个B类是那么A的成员函数如何访问B类的成员函数 -

class B
{
    int y;
    void display()
    {
       cout<<y;
    }
};

Plz回复。

谢谢..

2 个答案:

答案 0 :(得分:1)

与你的主要方式相同。

   class B{
...
  void foo(){
    A a;
    a.show();
  }
}

有趣的阅读inheritance and friendship in C++

答案 1 :(得分:1)

起初,你的榜样不对。

class A
{
    int x; // x is private
    void show() //show is private also
    {
       cout<<a;
    }
};

int main()
{
   A a;
   a.show(); //you can't access private members from outside
   a.x;
}

考虑到你的问题:要访问另一个类成员函数中的A类成员,你可以:
1.实例化类B成员函数中的类A实例
2.使所需的A类成员静态,因此您无需提供A类对象来访问此成员。

class A {
public:
// ...
stativ void do_stuff() {}
};

class B {
//....
void do complicated stuff() {/*...*/ A::do_stuff();}
};