c++ 友元

友元函数

因为类中的三个限定词之一 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
--------

你可能感兴趣的:(c++,c++,开发语言)