溫馨提示×

溫馨提示×

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

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

關(guān)于C++友元函數(shù)的實現(xiàn)講解

發(fā)布時間:2020-09-14 09:09:05 來源:腳本之家 閱讀:135 作者:Engineer-Bruce_Yang 欄目:編程語言

友元函數(shù)是一種特殊的函數(shù),它必須要在類中進行聲明,但其本身并不是類的成員函數(shù),但友元函數(shù)可以訪問類的私有成員變量。

友元函數(shù)的好處:

1、實現(xiàn)類之間的數(shù)據(jù)共享

2、提高程序運行效率,方便編程

友元函數(shù)的壞處:

1、破壞數(shù)據(jù)的隱蔽性和類的封裝性

2、降低了程序的可維護性

所有,友元函數(shù)應(yīng)當(dāng)謹(jǐn)慎的去使用它。

實例:

#include <iostream>
#include <cstring>
using namespace std ; 
class Student
{
 private :
 string name ; 
 int age ; 
 char sex ; 
 int score ; 
 public :
 Student(string name , int age , char sex , int score) ;
 //聲明友元函數(shù) 
 friend void display_information(Student &Stu); 
};
Student::Student(string name , int age , char sex , int score)
{
 this->name = name ; 
 this->age = age ; 
 this->sex = sex ; 
 this->score = score ; 
}
//注意,友元函數(shù)不是類Student的成員,但可以訪問類中的私有成員變量 
void display_information(Student &Stu)
{
 cout << Stu.name << endl ;
 cout << Stu.age << endl ; 
 cout << Stu.sex << endl ;
 cout << Stu.score << endl ;
}
int main(void)
{
 Student STU1("YYX",24,'N',86);
 display_information(STU1);
 return 0 ;
}

運行結(jié)果:

YYX
24
N
86

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對億速云的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI