2 gyw0707 gyw0707 于 2014.12.07 18:14 提问

求解释c++结构体。。。
c++

struct Snake
{
Snake() :next(NULL), before(NULL)
{
pt.x = 0; pt.y = 0;
}
Snake(const POINT &npt, Snake *, Snake *);
POINT pt;
Snake * next, *before;
} snake; //定义蛇头
在学windows api,找了个贪吃蛇,这段代码实在看不懂了,求大神解释一下,或者用类来代替一下也好

3个回答

eagleyan
eagleyan   Rxr 2014.12.08 10:39

Snake() :next(NULL), before(NULL)
Snake构造函数,设定next,before为NULL

starytx
starytx   Rxr 2014.12.09 14:36

结构体和类根本上区别不大,区别只是结构体默认的是public权限,类默认是pravite.
简单注释了一下,仅供参考

 struct Snake
{
Snake() :next(NULL), before(NULL)   // 默认构造函数,初始化参数列表使得next=NULL.before=NULL
{
pt.x = 0; pt.y = 0;     // 初始化坐标为(0,0)
}
Snake(const POINT &npt, Snake *, Snake *);  // 另外一种构造函数,参数为一个坐标的const引用和两个结构体指针
POINT pt;
Snake * next, *before;
} snake; //定义蛇头
happyparrot
happyparrot   Ds   Rxr 2014.12.11 12:47

这个类和结构没什么区别的。改成class CSnake也没有什么多少不同的。
具体解释,得看看贪吃蛇的说明,还有cpp中的实现
这里就提供了两个构造函数,蛇这个结构是个双向列表,可以向前或向后查找。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!