C++類將函式模板宣告為友元 例項
//program 18.5.3.cpp 類也可以將 函式模板宣告為友元
#include <iostream>
using namespace std;
class A
{
int v;
public:
A(int n) :v(n)
{
cout << "A:: theconstructor was called!" << endl;
}
template <class T>
friend void Print(const T& p);//全域性函式模板Print<T>例項化出來的模板函式就可以訪問A類物件引數的私有成員;
};
/*全域性函式模板Print(引數是某個類的物件)*/
template <class T>
void Print(const T& p)
{
cout <<"p.v="<< p.v<<endl;
}
int main()
{
A a(4);
/*呼叫全域性函式模板友例項化的模板函式:此處的函式模板的例項化通過物件a隱式例項化成模板函式Print<const A& p>*/
Print(a);
return 0;
}
相關文章
- c++單例模式、常量成員函式、引數傳遞、友元C++單例模式函式
- c++函式模板和類别範本C++函式
- 【C++進階筆記】(1)函式模板的宣告及使用C++筆記函式
- C++關於DLL匯出模板類和模板函式C++函式
- c++函式模板C++函式
- java中父類宣告子類例項化Java
- 類成員函式作為map容器的value使用例項函式
- 一種將函式模板定義和宣告分開的方法函式
- C++函式模板案例C++函式
- 使用 __get__ 向已有類例項注入函式函式
- c++中模板類的成員函式的宣告與定義應該放在標頭檔案裡C++函式
- 友元函式的使用方法函式
- 【C++ 泛型程式設計01:模板】函式模板與類别範本C++泛型程式設計函式
- C++ 函式過載,函式模板和函式模板過載,選擇哪一個?C++函式
- C++ 函式過載和模板C++函式
- C++ priority_queue為例的比較函式C++函式
- C++之類解構函式為什麼是虛擬函式C++函式
- 遞迴函式例項大全遞迴函式
- C++ 類成員函式C++函式
- Spring程式設計式和宣告式事務例項講解Spring程式設計
- 06函式宣告函式
- C++中的友元C++
- C++——內聯,友元C++
- 關於C++當中的“模板函式”C++函式
- c++函式模板和執行機制C++函式
- 將外掛類路徑轉為型別,並建立例項。型別
- C++:類的成員函式C++函式
- OC底層原理之例項、類物件、元類物件物件
- C++模板函式實現型別推導C++函式型別
- JS變數宣告和函式宣告提升JS變數函式
- c++ 類的函式引用 指標C++函式指標
- 函式模板函式
- 題解 P10249【【模板】多項式複合函式】函式
- 何時使用函式表示式與函式宣告函式
- JavaScript函式宣告和函式表示式區別JavaScript函式
- Python函式每日一講 - frozenset集合函式入門及例項Python函式
- python例項建立銷燬的函式整理Python函式
- 函式計算支援 MySQL 例項繫結函式MySql