Determine playing card
In object-oriented programming, a card object is supposed to represent a card.  Your card, though… I'm not sure what it represents!  If anything, it's the ultimate chameleon card: every time you call .getSuit() or .getValue() on it, it reports a different value!

The card's identity, therefore, must be determined in the constructor, and it should never change thereafter.  All three methods should be declared const.

Furthermore, it's a bad idea to have the card's identity be randomly assigned in the constructor.  How would you create a deck of 52 different cards, if you couldn't instantiate each one deterministically?

The displayCard() method makes no sense — why should you pass in suit and value as parameters, which will then be ignored?

using namespace std; defeats the purpose of the std namespace.  It's sloppy practice in general.  In particular, you should never do that in a header file, because any .cpp file that includes that header will have its namespace contaminated as well.

Your comments are wrong: displayCard() is not a constructor.

So, the header file should look more like this:

#ifndef  CARD_H
#define  CARD_H
#include &lt;string&gt;

class Card
{
    public:
        // Constructor
        Card(const std::string &amp;suit, const std::string &amp;value);

        // Member Functions
        std::string getSuit() const;
        std::string getValue() const;
        std::string display() const;

    private:
        std::string suit, value;
};
#endif


I'll leave it to you to figure out what the implementation should look like.