友元函数
因为类中的三个限定词之一 private,它负责对外隐蔽类成员变量,所以外部不能访问它的成员。但是在某些时候类并没有提供相应的接口去更改成员,但是又想修改成员,友元就出现了,也就是在某个类中申明了友元函数或者友元类,那么在那个友元函数或者友元类中可以直接访问当前类的私有变量。但其实这个破坏了类的隐蔽性,都有友元了,那private有个毛用啊。所以尽量不用友元。
以下关键代码
Model.h
class Model
{
friend void printInfo(Model* md);
public:
explicit Model(std::string name){
this->name = name}
private:
std::string name;
};
void printInfo(Model*md);
main.cpp
--------