pimple idiom C++

20121204
1.头文件不参与编译。
2.三个类A,B,C
A.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:http://greatverve.cnblogs.com/archive/2012/12/02/cpp-what.html

posted @ 2012-12-02 20:34  大气象  阅读(1060)  评论(5编辑  收藏  举报
http://www.tianqiweiqi.com