文件1:tt,h tt.cpp
//tt.h
#pragma once
#include "hufriend.h"
class tt
{
public:
friend void hufriend::lookHumanRoom(tt& tmphum);
private:
int m_privl;
};
//tt.cpp
#include "tt.h"
void hufriend::lookHumanRoom(tt& tmphum)
{
tmphum.m_privl = 1;
std::cout << "tt friend entered" << std::endl;
}
文件2:hufriend.h hufriend.cpp
//hufriend.h
#pragma once
#include <iostream>
class tt;
class hufriend
{
public:
hufriend();
~hufriend()
{
std::cout << "hufriend 的析构函数" << std::endl;
}
void lookHumanRoom(tt& tmphum);
};
//hufriend.cpp
#include "hufriend.h"
hufriend::hufriend()
{
std::cout <<__func__ <<"()构造函数"<< std::endl;
}
总结:
友元类中声明要访问的类;再在要访问的类中定义函数