C 友元函式基本用法(宣告 定義 呼叫)

2021-09-24 22:56:05 字數 1234 閱讀 4060

本文主要總結乙個c++中基本的友元函式用法,包括友元函式宣告和定義、乙個應用簡單例子和編譯結果,友元函式特性總結,下面是具體講述。

首先友元函式是宣告在類中的,作用是可以反問該類的私有成員(成員函式和成員引數)。其中,友元函式的宣告跟平常函式宣告基本一樣,只需要在函式宣告前加乙個friend就行,友元函式的定義跟普通函式定義一模一樣(不需要指定類作用域運算子),下面是乙個典型的友元函式宣告和定義。

#include //友元函式在類中宣告

friend ostream & operator<

//友元函式在類中定義,不能用作用域解析運算子,因為友元函式不是成員函式,也不能被繼承

ostream & operator<

在vs2013新建乙個console空白工程,分別在檔案friendclass.h,friendclass.cpp,main.cpp中新增如下**

friendclass.h(編譯環境vs2013 console工程)

由上面示例**可知,友元函式訪問類的私有成員,是通過類的引用來呼叫類的私有成員。

a1 成員函式不能直接呼叫類的私有成員,而是要通過引用或者指標來呼叫類的私有成員。

a2 友元函式不是類的成員函式,不能用作用域解析運算子操作

a3 友元函式因為不是成員函式,不能被派生類繼承

當執行**cout << "friendobject==" << friendobject << endl;,也就是執行cout <

《c++ primer plus》(第6版)中文版  539-542頁(參考:友元宣告和定義,呼叫例項)

參考:友元函式呼叫)

參考:友元函式宣告和定義)

C語言 函式(宣告 定義 呼叫)

1 函式的宣告 函式有兩種型別 1 有返回值 前面用 int float double char來定義的,如int even int n 前面的int就是返回值型別,注意最後要加分號。include inteven int n 2 沒有返回值,就用void寫在最前面,如void even int n...

c 友元函式宣告及其呼叫

1.友元函式的簡單介紹 1.1為什麼要使用友元函式 在實現類之間資料共享時,減少系統開銷,提高效率。如果類a中的函式要訪問類b中的成員 例如 智慧型指標類的實現 那麼類a中該函式要是類b的友元函式。具體來說 為了 使其他類的成員函式直接訪問該類的私有變數。即 允許外面的類或函式去訪問類的私有變數和保...

函式 變數 宣告 定義 呼叫 引用

引例 在高中數學裡,我們有y f x f x 3x 在c語言裡我們有 includeint f int a int main 下面說一下函式的宣告 定義 呼叫 詳見下面 宣告的作用是把函式名 函式引數的個數 函式引數型別等資訊通知編譯系統,以便在遇到函式呼叫時,編譯系統能正確識別函式並檢查呼叫是否合...