Llevo algun tiempo programando en php y estudiando algunos libros sobre arquitectura de software y patrones de diseño. El problema es que en todos estos libros suelen explicar los ejemplos con codigo en c++, el cual tiene diferencias sobretodo en los tipos de datos con php. Pues al intentar traducir este codigo c++ a php e surgen algunas dudas.

Código :

virtual void handleEvent (Event *) {}

De este codigo puedo interpretar que virtual es igual a abstract en php, que void es el tipo de dato que devuelve la funcion, pero lo que no me queda claro es que significa *.

Otra duda me surge con la definicion de los constructores de c++

Código :

Controlador(Vista *v) : miVista(v) {}


Segun he leido en este caso lo que va despues de los : seria el valor por defeto para el unico parametro que acepta el constructor en este caso, pero no tengo ni idea de que significa
(Vista *v), otra vez el dichoso *.

Estoy convencido que para alguien que haya trabajado un solo dia con c++ me lo podria explicar, ademas estaria muy agradecido si alguien pudiera darme un site en el que expliquen las equivalencias entre c++ y php, gracias por adelantado.