我想知道是否可以在頭文件中定義一些函數,然後在同一個頭文件中使用它們,同時將它們從其他東西中隱藏起來?例如,我可以先定義一些通用的幫助函數(特定於數據結構),然後在使用這些函數的相同頭文件中定義一些數據結構?在頭文件中隱藏非成員函數
如:
template<class T>
void Swap(T &a, T &b)
{
T temp = a;
a = b;
b = temp;
}
但我不想Swap()
與具有相同名稱的其他功能干擾。
我可以讓它變成一個私有方法,但後來我不得不提供具有相同實現使用它的每一個類或讓他們的朋友類...
關於交換干擾其他交換功能,這就是爲什麼命名空間被髮明,使用它們!據我所知,你只能通過將它們隱藏在類或結構中來隱藏頭文件中的函數。你可以使用這個函數作爲一個私有結構,並指定你正在創建的類作爲一個朋友類。 – leetNightshade 2011-12-23 21:45:58