我有一堂课

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


和另一类

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


我将如何在它们之间转换?
我曾尝试在类声明中添加Spherical Cartesian::toSphericalCartesian Spherical::toCartesian,但是无论我将它们放入的顺序如何,第一个都会抱怨另一个未定义。我已经标记了VS和Ubuntu,因为我希望它们对两者都起作用。

最佳答案

做前向声明。

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

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

关于c++ - C++中类之间的交叉转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43477441/

10-17 01:33