Where should certain files be #include'd for these classes?
<p>I'm making a Radian class and Degree class. Each class has a constructor that takes an object of the other type as an argument, does a degree/radian conversion, and initializes the degree or radian parameter with the result, like so.</p>

<pre><code>Class Radian
{
    private:
      double radians;
    public:
      // ......
      Radian(Degree d) {
      radians = d.getDegrees() * (pi / 180);
      }
      // ...
</code></pre>

<p>And the degree class is the same way but oppposite. So to make sure there isn't some kind of linkage error, should each header #include the other? What about their respective .cpp's? Do I need a forward class declaration?</p>
