基本上我的一个头文件已被更改,并且已删除了返回其中某些变量的函数,我现在不知道如何获取变量。请不要对此有所了解。
函数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中编写一些函数来执行此操作吗?
答案 0 :(得分:4)
这应该可以解决问题:
int deadendX = pointOne.x;
int deadendY = pointOne.y;
x和y是Point的公共成员变量,因此您可以访问它们。
答案 1 :(得分:3)
您可以以相同的方式访问公共结构/类成员,无论它们是数据成员还是方法。所以写下这个:
int deadendX = pointOne.x;
int deadendY = pointOne.y;