中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在C++中實現一個友元類

發布時間:2021-06-02 16:43:26 來源:億速云 閱讀:163 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關怎么在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++中實現一個友元類了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

象山县| 甘孜县| 怀来县| 个旧市| 南涧| 香港| 江津市| 龙门县| 霸州市| 石嘴山市| 富川| 柳江县| 常州市| 巴中市| 开原市| 卢氏县| 无极县| 明光市| 大新县| 中西区| 车险| 沂南县| 长顺县| 蒙自县| 江孜县| 周至县| 榆中县| 徐水县| 抚顺市| 博客| 深泽县| 牟定县| 建宁县| 利川市| 万全县| 阳江市| 长治市| 衡东县| 大石桥市| 新津县| 高台县|