Yes.
Here, static means "internal linkage".
In other words, there is one private CardGame variable for every module that includes the header.
In order to share a variable between several modules (external linkage variable), you must declare the variable in every translation unit which uses it and define the variable exactly once (one definition rule).
Header:
Code:
extern CardGame game; /* declaration */
One .cpp file:
Code:
#include "the_header.h"
CardGame game(640, 480, 32); /* definition */
This .cpp file may be, for example, a new .cpp file containing this single definition.
Or, it may be the .cpp file of the class definition, but that may make less sense.