A naso oserei dire che la classe B "eredita" tutta la parte pubblica di A ma non ne sono troppo sicuro.
E' quasi giusto. In pratica B eredita i metodi di A in qualsiasi caso (anche senza public), ma, se usi public, puoi usare i metodi di A dentro il corpo di quelli di B. Ad esempio

codice:
class A
{
    public:
        A();
        int Metodo_di_A();
};

class B: public A
{
    public:
        B();
        int Metodo_di_B()
        {
            int x = Metodo_di_A();       //(*)
            return sqrt(x + 1);          //ad esempio...
        }
};
Omettendo public, in pratica, la riga (*) ti darebbe un errore di compilazione.

cout << << endl;