C 友元函式和友元類

2021-09-10 06:25:46 字數 563 閱讀 8396

在學習友元函式的時候,我在test類裡面定義了乙個函式brint()需要訪問student的裡面的私有成員,然後在student裡面宣告了友元函式,但是只有在把test的定義放在student的定義之前才不會報錯,放在後面就會報錯(無法訪問私有成員),無論如何提前宣告test類。使用友元類沒有這樣的問題。

#include #include using namespace std;

//類的前向宣告

class test;

class student

;class test

;student::student(double m)

student::~student()

void test::brint(student &a)

test::test()

test::test(int a)

test::test(const test&t)

test::~test()

void print(test &a, test &b)

int main()

友元 友元函式 友元類和友元成員函式 C

有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...

友元 友元函式 友元類和友元成員函式 C

有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...

C 友元 友元函式 友元類和友元成員函式

有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...