【发布时间】:2014-08-04 08:49:33
【问题描述】:
我有许多类都使用相同的宽度和高度变量,并且还使用一个函数来检查一个点是否在边界内。比如:
class map
{
int height;
int width;
bool pointExists(int x, int y)
{
if(x < 0 || y < 0 || x >width-1 || y>height-1)
return false;
return true;
}
};
class somethingElse
{
int height;
int width;
bool pointExists(int x, int y)
{
if(x < 0 || y < 0 || x >width-1 || y>height-1)
return false;
return true;
}
};
所以...我希望每个班级都可以使用宽度和高度,并且每个班级也可以使用“pointExists”功能。我知道我可以使用全局变量来做到这一点,但我想知道是否有人可以告诉我更好的方法......
【问题讨论】:
-
map是一个坏名字,因为它与std::map冲突 -
width和height是 public 数据成员吗? -
这只是一个例子。我什至不知道代码是否有效。
-
是的,它们是公开的(我所有程序中的所有内容都是公开的!)
-
顺便说一句,我认为您的支票更易读的方式是
return 0 <= x && x < width && 0 <= y && y < height;。
标签: c++ function variables global