Don’t apologise about your English! This is (presumably) an international setting anyway: it won’t be many people’s first language either…
Right. So it sounds like you are confused with the concept of ‘classes’. You should probably try and research this a little. But ok, let me try and summarise for you.
In fact you said “I understand that FBullCowCount is a struct”, so maybe you know what a struct is? Well, classes and structs are pretty much the same thing. The idea is to package variables and methods (functions) into one neat bundle that provides a convenient thing to manipulate at a higher, more abstract level.
An object (= an instance of a class) is like a box, or a system, in a given state as encoded by its member variables (e.g. BCGame is a FBullCowGame, with a certain hidden word to be guessed, and there has been a certain number of tries, and the player may or may not have already won the game). You then provide other parts of the code that are outside of the class with well defined ways of interacting with that object through public methods (getting the state of the game, updating the state of the game, etc.).
If you’ve used things like std::vector and std::string before: these are classes… They may contain certain underlying information, like what values are in the vector, the size of it, etc. But you don’t get to know the details of how this is done, and you don’t get direct access to all this ‘behind the scenes’ structure: you only are allowed to interact with it through specific methods like myVector.size() or myVector.push_back(x).
So in the same way that size(), in the example I just gave, is a method of the std::vector class, SubmitGuess(guess) is a method of FBullCowGame: you can’t call size() unless you have an vector object to call it on, and similarly it doesn’t make sense to call SubmitGuess(guess) unless you have an instance of the FBullCowGame class…
Let me know if that was enough to help you get to grips with this!