Your Deck class needs some help.
First, the deck class should declare it's own storage for the cards. You could also use a constructor to initialize the deck. You don't need a create method as that is what you do when you create an instance. And your flush routine is really a shuffle routine (at least it appears to be). And you don't need to pass the array as the storage, as I said before, should be in the Deck class. But you don't need to return the internal storage of the Deck. Just use it via methods.
You should probably have some way of retrieving a card until the deck is exhausted. An interator would work or just a simple pick or deal method with a counter to keep track of dealt cards would work.
Remember that when you declare a class, the methods describe what you would normally do using an instance of the class in real life. So with a Deck of cards you would:
shuffle - randomize the cards
deal - take the cards off the top, one at a time
reinitialize - gather up the cards from the players and reshuffle them. (note - you could also just create a new instance but in real life you don't open up a new pack of cards for every deal you just gather up and shuffle). But creating a new instance wouldn't be incorrect.
You could add other operations as you might see fit.
Regards,
Jim