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()
{
}
// 头文件
#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
本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/greatverve/archive/2012/12/02/cpp-what.html,如需转载请自行联系原作者