C++ 在类名后但在开括号前加引号
我有一个简单的问题,我想不出来。我没有写这段代码。我知道tetromino和moveTime是两个不同类的实例。我的问题是,为什么它们在括号外声明,但仍然在类内声明。此实例声明方法是否有名称C++ 在类名后但在开括号前加引号,c++,class,instance,C++,Class,Instance,我有一个简单的问题,我想不出来。我没有写这段代码。我知道tetromino和moveTime是两个不同类的实例。我的问题是,为什么它们在括号外声明,但仍然在类内声明。此实例声明方法是否有名称 Game::Game() : tetromino_{ static_cast <Tetromino::Type>(rand() % 7) }, moveTime_{ SDL_GetTicks() } { //srand(time(NULL)); //initialize SDL
Game::Game() :
tetromino_{ static_cast <Tetromino::Type>(rand() % 7) },
moveTime_{ SDL_GetTicks() }
{
//srand(time(NULL));
//initialize SDL and if it fails, present an error
if (SDL_Init(SDL_INIT_VIDEO) != 0){
throw std::runtime_error("_Init(SDL_INIT_VIDEO)");
}
//width of thhe window is 650/2 and the height is 650
SDL_CreateWindowAndRenderer(650 / 2, 650, SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS, &window_, &renderer_);
//set the window position
SDL_SetWindowPosition(window_, 365, 1);
}
Game::Game():
tetromino{static_cast(rand()%7)},
moveTime{SDL\u GetTicks()}
{
//srand(时间(空));
//初始化SDL,如果失败,则显示错误
如果(SDL_Init(SDL_Init_视频)!=0){
抛出std::runtime_error(“_Init(SDL_Init_VIDEO)”);
}
//窗户的宽度为650/2,高度为650
SDL_创建窗口和渲染器(650/2650,SDL_窗口和OPENGL、SDL_窗口和渲染器);
//设置窗口位置
SDL_设置窗口位置(窗口位置,365,1);
}
如果我的问题不清楚,这叫什么
Game::Game() :
tetromino_{ static_cast <Tetromino::Type>(rand() % 7) },
moveTime_{ SDL_GetTicks() }
{
Game::Game():
tetromino{static_cast(rand()%7)},
moveTime{SDL\u GetTicks()}
{
这只是一个构造函数
Game::Game
构造函数正在构造类的两个成员,tetromino
和moveTime
。大括号(不是括号)是C++11/C++14的新成员。这不是类定义。它是一个构造函数。它正在构造成员变量。