2017-07-24 57 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在全局名称空间中声明。

相关问题