C++ 多文件友元类函数编程

文件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


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;
}

总结:

友元类中声明要访问的类;再在要访问的类中定义函数

 

你可能感兴趣的:(友元类函数)