Se ho una classe base CA con un puntatore ad una classe CAA

Es:
class CA{
public:
CAA* ptrAA;
...
}

Ho poi una classe CB che eredita da CA e che ha un puntatore ad una classe CBB che eredita da CAA

Es:
class CB: public CA{
public:
CBB* ptrBB;
}

Essendo che CBB eredita da CAA è possibile definire i puntatori delle due classi con lo stesso nome es: ptrXX e definire dei metodi nella classe CA che usano CAA e che verranno chiamati dalla classe CB, la quale però usa la CBB?
Spero di essere stato chiaro.
Grazie a tutti