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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言sizeof求结构体大小问题汇总
可以说一直被各类结构体大小问题说困扰,花了大半天时间查了一下资料,现在整理汇总一下。 sizeof:C语言中判断数据类型或者表达式长度符;不是一个函数,字节数的计算在程序编译时进行,而不是在程序执行的过程中才计算出来。 基本数据类型的大小很好计算,我们主要看一下构造数据类型的大小,包括数组,结构体和共用体。
求结构体成员偏移量的三种方法
#include #include typedef struct { char a; int b; double c; }type_t; //第一个OFFSET宏 //#define OFFSET(TYPE , MEMBER , OFF) \ TYPE temp; \ OFF = (unsigned long)(&
C语言 使用结构体计算圆的面积
结构体是自定义的数据结构,类次数组,在内存中也是线性存储的。不同的是数组的每一个元素的数据类型必须一致,结构可以存放不同数据类型的元素。 结构体使用类次面向队形的类与对象,元素可以使用点号运算符进行访问。 下面是一个简单的例子: /** 就算圆的面积,周长使用结构体 */ //定义点的结构 typedef struct { double x; double y; }Point
C语言用结构体求所给日期是一年第几天
#include #include #include typedef struct date { int year; int month; int day; }DATE; int days[12]={0}; int main() { DATE date; int valid=0;int which_day; do { printf("请输入某天日期值(年,月,日),输入(0,
c语言sizeof求结构体的大小
运算符sizeof可以计算出给定类型的大小,对于32位系统来说,sizeof(char) = 1; sizeof(int) = 4。基本数据类型的大小很好计算,我们来看一下如何计算构造数据类型的大小。 C语言中的构造数据类型有三种:数组、结构体和共用体。 数组是相同类型的元素的集合,只要会计算单个元素的大小,整个数组所占空间等于基础元素大小乘上元素的个数。 结构体中的成员可以是不同的数据类型
sizeof求结构体大小的问题
sizeof求解结构体大小的问题标签(空格分隔):c/c++具体见:http://www.cnblogs.com/0201zcr/p/4789332.html?utm_source=tuicool&utm_medium=referral sizeof求解结构体大小的问题  如何给结构体变量分配空间由编译器决定,下面的情况针对的是Linux下的GCC。在Windows下的VC平台也是这样,至于其他平台
利用结构体计算班级平均分,最高分,最低分,不及格等等
#include "stdafx.h" #include #include struct student{  int num;  int score; }; struct student stus[47];    //根据班级人数可修改,此处默认47人。 int stucount=47; double sum( ){  double s=0;  for(int i=0;i
求结构体元素的偏移量
求结构体元素的偏移量 1.使用宏定义 2.直接来求
C语言结构体大小计算
定义结构体中的偏移量 结构体中的偏移量是一个成员的实际地址和结构体首地址之间的距离。 结构体大小计算 结构体大小 会涉及到字节对齐(目的是 让计算机快速读写 以空间换取时间)。即,最后一个成员的偏移量加上最后一个成员的大小再加上末尾的填充字节数。 结构体内偏移规则 1、每个成员的偏移量都必须是当前成员所占内存大小的整数倍如果不是编译器会在成员之间加上填充字节。 2、当所有成员大小
宏定义求结构体某个变量相对其偏移量的问题
程序员面试宝典的问题之一,做的时候觉得有些小问题不懂,就搜了一下,整理整理,再加一点自己的理解。 题目: 用一个宏定义FIND求一个结构体struct里某个变量相对struc的编移量 如:struct student  {  int a;  char b;  double c;  }  则:  FIND(student,a); //等于0  FIND(student,b)