ComputerServer类作为Computer类得友元类, 那么ComputerServer类的所有成员函数, 就可以直接访问对应类的所有数据成员。
使用友元类,和友元函数时,使用friend关键字进行声明即可,与访问权限无关,可以写在private/public/protected任意权限内。
Computer类 ComputerServer类
public: public:
friend class ComputerServer setUpgrade()
setCpuPower()
private: setCpuCore
cpu
cpuPower
cpuCore
#include#include "ComputerServer.h" using namespace std; class Computer{ public: Computer(); //友元类, 此时都在ComputerServer类里 //都可以访问Computer的所有数据 friend class ComputerServer; void description(); private: string cpu; //cpu芯片 int cpuPower; //cpu性能 int cpuCore; //cpu内核 }
ComputerServer是Computer类的友元类, 都可以访问Computer的所有数据。
void ComputerServer::setUpgrade(Computer *computer)
{
computer->cpu = 'i9';
}
class FaceAlignment: public FaceModule
{
public:
FaceAlignment()
{
}
~FaceAlignment()
{
}
friend class FaceInst;
}
FaceInst是FaceAlignment的友元类。



