【发布时间】:2020-08-02 16:55:10
【问题描述】:
我想使用 C++ SFML 库创建一个游戏类。 我尝试使用 OOP 编码风格,但我对我在学习书中找到的代码感到困惑,如下所示:
#include <SFML/Graphics.hpp>
class Game
{
public:
Game();
void run();
private:
void proccessEvent();
void update();
void render();
private:
sf::RenderWindow mWindow;
sf::RectangleShape rect;
};
Game::Game()
: mWindow(sf::VideoMode(640, 480), "SFML Application") , rect()
{
rect.setSize(sf::Vector2<float>(100.0f,100.0f));
rect.setFillColor(sf::Color::Red);
}
我不明白 Game::Game 部分发生了什么。有人可以向我解释那部分的 : 是什么吗??
【问题讨论】:
-
这是一个初始化列表。它用于初始化类的成员。这是基本的 C++,在任何 C++ 书籍的早期都有介绍,但令人惊讶的是有多少新手从未见过它。我猜人们不阅读 C++ 书籍。
-
你真的应该先开始阅读一本好的 c++ 书籍,学习该语言的基础知识,然后再寻找在线教程,或者在不了解该语言的基本概念的情况下编写代码。如果没有这些基本知识,您将无法确定教程显示是否正确,并且您可能会得出错误的结论。 StackOverflow(以及大多数其他在线平台和教程)是一本好书的替代品。
标签: c++ c++11 sfml game-development