std::vector实例化不需要类定义

2014-11-15 21:00:25 · 作者: · 浏览: 22

  朋友问一个问题,如下代码,是不是可以通过编译,我看了下,觉得很有意思,故记录下:


  Point3D.h


  #pragma once


  class CPoint3D


  {


  public:


  CPoint3D(void);


  public:


  ~CPoint3D(void);


  };


  Line3D.h


  #pragma once


  #include


  class CPoint3D;


  class CLine3D


  {


  public:


  CLine3D(void);


  public:


  ~CLine3D(void);


  private:


  std::vector m_Points;


  };


  Line3D.cpp


  #include "Line3D.h"


  #include "Point3D.h"


  CLine3D::CLine3D(void)


  {


  }