我有两个类,“缓存”和“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”中变量的值。 有人可以告诉我如何做到这一点。 感谢。
答案 0 :(得分:4)
将此添加到cache
:
friend class LRU;
这将允许LRU
中的任何代码访问{em>所有 cache
的私人成员。
答案 1 :(得分:0)
您可以将LRU声明为要缓存的朋友类。