Alright, simple problem, hopefully simple solution.
This is going to seem like a stupid question, I know but I'm having some difficulty with struct inheritance.

Here's what I have:

struct A
//elements here

struct B:A
//more elements here


int main(void)
A* pa = new B();
B* pb;
pb = pa;//this is the important part

return 0;

Do I need an explicit cast here?

Also, say I was trying to do:
A a;
B b;
b = a;

Do I need a new constructor B(A a) in B to handle this or is there another way?