Possess a new model(APawn) with APlayerController

What I want to do is replace the character in the level dynamic(during the runtime),

APlayerController->Possess(APawn), anybody knows that how to initialize APawn in C++, so that I can pass the pawn to the function?

thanks in advance.