在C++中,友元函數(friend function)是一種特殊的函數,它可以訪問類的私有(private)和保護(protected)成員。然而,友元函數并不是類的成員函數,因此它不能像成員函數那樣繼承。
如果你希望一個函數能夠訪問另一個類的私有和保護成員,你可以將這個函數聲明為另一個類的友元函數。例如:
class A {
public:
friend void friendFunction(A& obj);
};
void friendFunction(A& obj) {
// 訪問A的私有和保護成員
}
在這個例子中,friendFunction
是一個非成員函數,但它被聲明為類A
的友元函數,因此它可以訪問A
的私有和保護成員。雖然friendFunction
不是A
的成員函數,但它仍然可以訪問A
的成員。