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++函式模板和類别範本C++函式
- 【C++進階筆記】(1)函式模板的宣告及使用C++筆記函式
- c++函式模板C++函式
- 一種將函式模板定義和宣告分開的方法函式
- C++函式中那些不可以被宣告為虛擬函式的函式C++函式
- java中父類宣告子類例項化Java
- 類成員函式作為map容器的value使用例項函式
- 友元函式的使用方法函式
- C++ 友元C++
- C++友元C++
- C++的函式和模板函式 (轉)C++函式
- PHP類和物件函式例項詳解PHP物件函式
- 模板類成員函式的定義和宣告為什麼要放在一個檔案中函式
- c++中模板類的成員函式的宣告與定義應該放在標頭檔案裡C++函式
- js函式作為函式的引數程式碼例項JS函式
- 【C++ 泛型程式設計01:模板】函式模板與類别範本C++泛型程式設計函式
- 使用 __get__ 向已有類例項注入函式函式
- vfork函式例項函式
- c++中模板_類别範本的宣告和定義C++
- 詳解C/C++函式指標宣告C++函式指標
- C++ 函式過載,函式模板和函式模板過載,選擇哪一個?C++函式
- C++ 函式過載和模板C++函式
- C++之類解構函式為什麼是虛擬函式C++函式
- C++之函式模板與類别範本的區別(三)C++函式
- C++中的友元C++
- C++——內聯,友元C++
- 第六篇:為多型基類宣告虛解構函式多型函式
- C++ priority_queue為例的比較函式C++函式
- c++類的簡單例項C++單例
- C++ 類建構函式和解構函式C++函式
- 06函式宣告函式
- C++ 類成員函式C++函式
- c++ 模板類C++
- c++模板類C++
- C++模板的定製一:定製函式模板 (轉)C++函式