您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關怎么在C++中實現一個友元類,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
C++中的友元既可以實現友元函數,也可以實現友元類,也就是說一個類也可以作為另外一個類的友元。當作為一個類的友元時,它的所有成員函數都是另一個類的友元函數,都可以訪問另一個類的私有或者公有成員。
#include <iostream> #include <cstring> using namespace std ; //聲明教師類 class Techer ; //學生類 class Student { private: string name ; int age ; char sex ; int score ; public : Student(string name , int age , char sex , int score); void stu_print(Techer &tech); }; //教師類 class Techer { private: string name ; int age ; char sex ; int score ; public : Techer(string name , int age , char sex , int score); //聲明一個友元類 friend Student ; }; //Student類的構造函數的實現 Student::Student(string name , int age , char sex , int score) { this->name = name ; this->age = age ; this->sex = sex ; this->score = score ; } //Techer類的構造函數的實現 Techer::Techer(string name , int age , char sex , int score) { this->name = name ; this->age = age ; this->sex = sex ; this->score = score ; } //打印Student類中的私有成員和Techer的私有成員 void Student::stu_print(Techer &tech) { //用this指針訪問本類的成員 cout << this->name << endl ; cout << this->age << endl ; cout << this->sex << endl ; cout << this->score << endl ; //訪問Techer類的成員 cout << tech.name << endl ; cout << tech.age << endl ; cout << tech.sex << endl ; cout << tech.score << endl ; } int main(void) { Student stu1("YYX",24,'N',86); Techer t1("hou",40,'N',99); stu1.stu_print(t1); return 0 ; }
運行結果:
YYX
24
N
86
hou
40
N
99
上述就是小編為大家分享的怎么在C++中實現一個友元類了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。