20121204
1.头文件不参与编译。2.三个类A,B,CA.cpp中包含B.h则A.h中可以定义B类变量,也可以定义B指针变量。如果C.cpp中需要包含A.h则,编译不过,C.cpp需要两次包含B.h如果A.h中定义的是B指针变量,则可以用pimple语法3.A.cpp的包含次序为B.h然后是A.h否则头文件中类变量编译不过。指针变量则不受次序限制。20121202我知道这种用法,但是不知道这属于什么语法,请教高手。在源文件.cpp中包含(#include)一个类的头文件,在头文件中使用这个类。只能在头文件中定义指针变量,并且要用一种特别的语法:namespace oracle{ namespace occi { class CFor; }} // 使用者 // 头文件 #pragma once namespace oracle { namespace occi { class CFor; } } class CUse { public: CUse( void); ~CUse( void); public: oracle::occi::CFor *m_pFor; }; // 源文件 #include " Use.h " #include " For.h " CUse::CUse( void) { m_pFor->test(); } CUse::~CUse( void) { } // 被使用者 // 头文件 #pragma once namespace oracle { namespace occi { class CFor { public: CFor( void); ~CFor( void); public: void test(); }; } } // 源文件 #include " For.h " using namespace oracle::occi; CFor::CFor( void) { } CFor::~CFor( void) { } void CFor::test() { }
url: