Le mécanisme ami C++ permet aux fonctions ou classes non membres d'accéder aux membres privés ou protégés d'autres classes pour atteindre les objectifs suivants : Autoriser les fonctions non membres à accéder aux membres privés Autoriser les fonctions membres à accéder aux membres privés d'autres classes Autoriser les fonctions membres de classe pour accéder aux membres privés d'une autre classe Membres privés
Explication détaillée du mécanisme ami des fonctions C++
Le mécanisme ami est une fonctionnalité qui permet à une fonction ou une classe d'accéder à des membres privés ou protégés d'autres classes ou les fonctions. En C++, le mécanisme ami peut atteindre les objectifs suivants :
Syntaxe
Déclaration d'ami de fonction globale :
friend 返回值类型 函数名(参数列表);
Déclaration d'ami de classe :
friend class 类名;
Déclaration d'ami de fonction de membre de classe :
friend 返回值类型 类名::成员函数名(参数列表);
Cas pratique :
Question : Conception un Point
类,它有私有成员 x
和 y
,并且有一个打印所有私有成员的 print()
函数。现在,我们想要一个额外的 printInfo()
函数,它可以访问 Point
Membres privés de la classe et imprimez-les.
Mise en œuvre :
// Point 类 class Point { private: int x; int y; public: // 友元函数,可以访问 Point 类的私有成员 friend void printInfo(Point& point); // Point 类的成员函数 void print() { std::cout << "x: " << x << ", y: " << y << std::endl; } }; // 全局友元函数,可以访问 Point 类的私有成员 void printInfo(Point& point) { std::cout << "x: " << point.x << ", y: " << point.y << std::endl; } int main() { Point point{10, 20}; point.print(); // 输出:x: 10, y: 20 printInfo(point); // 输出:x: 10, y: 20 return 0; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!