With the struct definition given below...
struct A { virtual void hello() = 0; };
Approach #1:
struct B : public A {
They are exactly the same. There is no difference between them other than that the first approach requires more typing and is potentially clearer.