Descente de l'héritage C ++

J'ai ma classe de base comme suit:

class point    //concrete class
{
 ...    //implementation
}

class subpoint : public point  //concrete class
{
...     //implementation
}

Comment puis-je effectuer un cast d'un objet point à un sous-point de l'objet? J'ai essayé les trois opérations suivantes:

point a;
subpoint* b = dynamic_cast<subpoint*>(&a);
subpoint* b = (subpoint*)a;
subpoint b = (subpoint)a;

Quel est le problème avec ces distributions?

source d'informationauteur CodeKingPlusPlus