基本上,我的头文件之一已更改,并且其中返回某些变量的功能已删除,我现在不知道如何获取变量。能否请您说明一下。

函数getX()getY()已从头文件中删除,并且不允许以任何方式添加/修改头文件。有没有办法我仍然可以从main.cpp获取x和y的值?

struct Point
{
    int x;
    int y;

    Point ()                {   x = NULL;   y = NULL;   }
    Point (int x1, int y1)  {   x = x1;     y = y1;     }
    ~Point (void)           {   }


    Point & operator= (const Point &p)
    {   x = p.x;    y = p.y;    return (*this);     }

    bool operator== (const Point &p)
    {   return ( (x == p.x) && (y == p.y) );        }

    bool operator!= (const Point &p)
    {   return ( (x != p.x) || (y != p.y) );        }

    // 2 points are 'connected' but 'different' if they :
    // i)  share the same 'x' but adjacent 'y' values, OR
    // ii) share the same 'y' but adjacent 'x' values!!
    bool isConnected (Point &p)
    {
        return (    ((x == p.x) && ( ((y-1) == p.y) || ((y+1) == p.y) )) ||
                    ((y == p.y) && ( ((x-1) == p.x) || ((x+1) == p.x) ))
               );
    }

    void display (std::ostream &outputStream=std::cout)
    {   outputStream << "[" << x << ", " << y << "]";   }


    ============================================================
    // This two functions are now removed. =====================
    ============================================================
    int getX() // Removed.
    {
        return x;
    }

    int getY() // Removed.
    {
        return y;
    }

};


我之前使用这两个功能的部分:

int deadendX = pointOne.getX();
int deadendY = pointOne.getY();


那么现在从头文件中删除了功能,有没有办法做到这一点?就像我可以在main.cpp中编写一些函数来做到这一点吗?

最佳答案

这应该可以解决问题:

int deadendX = pointOne.x;
int deadendY = pointOne.y;


x和y是Point的公共成员变量,因此您可以访问它们。

关于c++ - 如何在头文件的结构内获取变量? C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42370352/

10-16 04:16