问题描述
- 求解释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,找了个贪吃蛇,这段代码实在看不懂了,求大神解释一下,或者用类来代替一下也好
解决方案
Snake() :next(NULL), before(NULL)
Snake构造函数,设定next,before为NULL
解决方案二:
结构体和类根本上区别不大,区别只是结构体默认的是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; //定义蛇头
解决方案三:
这个类和结构没什么区别的。改成class CSnake也没有什么多少不同的。
具体解释,得看看贪吃蛇的说明,还有cpp中的实现
这里就提供了两个构造函数,蛇这个结构是个双向列表,可以向前或向后查找。
时间: 2024-12-24 04:33:19