在c ++中的类之间交叉转换

时间:2017-04-18 16:22:50

标签: c++

我有一个班级

class Cartesian
{
    float x,y,z;
 };

和另一个班级

class Spherical
{
    float rho, phi, r;
};

我如何在它们之间进行转换? 我尝试在类声明中添加Spherical Cartesian::toSphericalCartesian Spherical::toCartesian,但无论我将它们放入哪个顺序,第一个抱怨另一个未定义。我已经标记了VS和Ubuntu,因为我希望它能同时适用于它们。

1 个答案:

答案 0 :(得分:1)

做前瞻声明。

    class Spherical;
    class Cartesian 
    { 
       float x,y,z;
       Spherical toSpherical();
    };

    class Spherical
    { 
       float rho, phi, r; 
       Cartesian toCartesian();
    };