一、友元函数
#include<iostream> using namespace std; class Student{ private: int id; string name; public: Student(int id,string name); //声明友元函数 friend void show(Student &stu); }; //友元函数的实现(直接可以访问类的私有属性) void show(Student &stu){ cout<< stu.id << " name:" <<stu.name <<endl; }; Student::Student(int id,string name):id(id),name(name){ } int main(){ Student stu(1,"张三"); show(stu); return 0; }
#include<iostream> using namespace std; class Teacher; class Student{ private: int id; string name; public: Student(int id,string name); void show(Teacher *tea); }; Student::Student(int id,string name):id(id),name(name){ } class Teacher{ private: int id; string name; public: Teacher(int id,string name); //将Student类声明为Teacher类的友元类 friend class Student; }; Teacher::Teacher(int id,string name):id(id),name(name){ } void Student::show(Teacher *tea){ cout << this->id << this->name << tea->name << endl; } int main(){ Teacher tea(1,"老外"); Student stu(1,"张三"); stu.show(&tea); return 0; }
原文:https://www.cnblogs.com/jalja365/p/13031412.html