如何从其他类访问不同类中的变量

时间:2016-10-22 16:35:42

标签: c++ c++11

x不能是静态的

我想

class A{
  static std::vector<C> vec_ca;
public:
  int x = 6;
`};
class B{
 std::vector<C> vec_cb;
public:
 int x = 7;
};
class C
{
  void foo(){
  int  k = x;
  }
};

并且k将根据其类别设置:如果k在vec_ca k = 6;如果k在vec_cb k = 7.是否可以完成?

1 个答案:

答案 0 :(得分:3)

有两种方法。你可以像这样使用getter和setter方法:

class B{
 std::vector<C> vec_cb;
public:
  int get_x(){return x;}
private:
  int x = 7;
};

并从另一个类中调用get_x。另一种实现此目的的方法是使用朋友类。所以你可以这样做:

class B{
 std::vector<C> vec_cb;
 friend class A;
private:
  int x = 7;
};