是的,C 函數可以宣告為友元函數。友元函數具有以下特性:可以存取類別的私有和受保護成員。不能直接存取類別的 this 指標。可以定義在類別的作用域之外。不是類別的成員函數,不屬於類別的介面。
友元函數是對一個類別的私有和受保護成員具有存取權的非成員函數。友元函數可以存取其他類別中封裝的數據,在特殊情況下非常有用。
在C 中,友元函數可以透過兩種方式宣告:
##全域友元函數:
friend void myFunction(classA& object);
成員友元函數:
class classA { friend void classB::myFunction(classA& object); };
Counter 類,它表示一個計數器。它的私有成員是一個表示計數的整數
count。
class Counter { private: int count; public: Counter(int c) : count(c) {} };
increment,它可以增加計數器的值。
friend void increment(Counter& c) { c.count++; }
int main() { Counter c(0); increment(c); cout << c.count << endl; // 输出 1 return 0; }
以上是C++ 函式可以宣告為友元函式嗎?友元函數的特性是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!