¿Cómo almacena C ++ funciones y objetos en la memoria? [duplicar
Esta pregunta ya tiene una respuesta aquí:
¿Qué sucederá cuando invoque una función miembro en un puntero de objeto NULL? 6 respuestasDigamos que tenemos una clase
class A
{
int x;
public:
void sayHi()
{
cout<<"Hi";
}
};
int main()
{
A *a=NULL;
a->sayHi();
}
El código anterior se compilará en Turbo C (donde probé) e imprimiráHi
como salida.
Estaba esperando un accidente porquea
esNULL
. Más sobre si hagosayHi()
función virtual, dice
Abnormal temination(Segmentation fault in gcc)
Sé que mucho depende de la implementación, pero si alguien pudiera arrojar algo de luz sobre cualquier implementación o simplemente dar una visión general, sería realmente agradable.