c ++:如何从另一个类的函数访问类的私有变量

时间:2013-06-28 14:40:41

标签: c++ oop

我有两个类,“缓存”和“LRU”: 类缓存看起来像这样:

class cache
{
  private:
    int num_cold;                               //Number of cold misses
    int num_cap;                               //Number of capacity misses
    int num_conf;                               //Number of conflict misses
    int miss;                                   //Number of cache misses
    int hits;                                   //Number of cache hits

  public:
           // methods
}

我在LRU类中有一个方法

bool LRU::access (Block block)
{
  for (i = lru.begin(); i != lru.end(); i++)               //If 
  {
    if (i->get_tag() == block.get_tag() && i->get_index() == block.getIndex()) 
    {
      lru.push_back(block);
      lru.erase(i);
      return true;
      //Here i want to add 1 to the value of variable "hits" of class "cache"
    }
  }
}

我想在“LRU :: access”方法中增加类“cache”中变量的值。 有人可以告诉我如何做到这一点。 感谢。

2 个答案:

答案 0 :(得分:4)

将此添加到cache

friend class LRU;

这将允许LRU中的任何代码访问{em>所有 cache的私人成员。

答案 1 :(得分:0)

您可以将LRU声明为要缓存的朋友类。