在父类中是否可以定义一个子类的指针?解决方法

在父类中是否可以定义一个子类的指针?
如:
00065       template <typename   _CharT,   typename   _Traits>
00066           class   basic_ios   :   public   ios_base
00067           {
00068           public:
00069               //@{
。。。。。。
00096           protected:
00097               basic_ostream <_CharT,   _Traits> *                                 _M_tie;
。。。
basic_ostream <_CharT,   _Traits> 要从basic_ios <_CharT,   _Traits> 继承下来的;
这在语言上正确吗?
这是从标准流的源文件中摘下来的:
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/basic__ios_8h-source.html
请高手赐教,在线等
谢谢

------解决方案--------------------
class derive;//前置声明
class base
{
int a;
derive *b;
};

class derive : public base
{
};
int main()
{
return 0;
}