2017-07-24 79 views
-3

我真的很陌生,我試圖自己教它。當我在看一些代碼,我注意到以下幾點:沒有在名稱空間外聲明的類體的C++類

#ifndef _someclass_h_ 
#define _someclass_h_ 

class A; 
class B; 
class C; 

namespace somenamespace{ 

class SomeClass 
{ 
public: 

... 
}; 
} 

我感到困惑的A,B和C所聲明的命名空間的外側,而沒有任何類體類。這裏做了什麼? 它與模板有什麼關係?

在此先感謝!

+3

搜索關鍵詞:「Forward Declaration」。 – user4581301

回答

0

這些是前向聲明。 C++程序員使用前向聲明來避免爲類定義包含頭文件。

類A,B和C在全局名稱空間中聲明。