在一个头文件warrior.h中声明battle类为其友元类,battle.h中的函数使用了warrior中的成员,在头文件声明时,应该哪个文件包含哪个文件
时间: 2024-05-16 22:18:10 浏览: 147
应该在 `warrior.h` 头文件中声明 `battle` 类,因为这个类需要访问 `warrior` 类的私有成员。在 `warrior.h` 中添加如下代码:
```c++
// 前向声明
class battle;
class warrior {
private:
int health;
int damage;
public:
// 友元类声明
friend class battle;
};
```
然后在 `battle.h` 中包含 `warrior.h` 头文件,以便使用 `warrior` 类的成员。
```c++
#include "warrior.h"
class battle {
public:
void fight(warrior& w) {
// 可以访问 warrior 类的私有成员
w.health -= 10;
w.damage += 5;
}
};
```
阅读全文