class GameController;
class Snake : public QGraphicsItem {
public:
enum Direction {
NoMove,
MoveLeft,
MoveRight,
MoveUp,
MoveDown
};
Snake(GameController & controller); // <<<<<<<<<
};
Snake::Snake(GameController &controller)
: head(0, 0)
, growing(7)
, speed(3)
, moveDirection(NoMove)
, controller(controller)
{ }
这句话做了什么?我的意思是在构造函数初始化时该参数做了什么?
答案 0 :(得分:0)
Snake(GameController & controller);
这句话做了什么?
它只是声明Snake
构造函数以GameController
引用作为参数。
我的意思是当构造函数初始化时该参数会做什么?
构造函数初始化时,参数本身不执行任何操作。构造函数的正文代码可以调用它上面的任何操作,或者将它存储到类成员变量(实际情况是关于你的附加信息)。
但是,由于我们没有看到Snake
构造函数的定义,因此无法在此明确告知这一点。
答案 1 :(得分:0)
它的作用取决于你的构造函数代码。
该参数在调用构造函数时生效。
当调用构造函数时,它会通过引用传递值,除非您提供代码,否则不能说任何其他内容。