Si tengo una clase Rectangle
Inicializar un objeto con y sin nuevo operador
class Rectangle{
private:
double width;
double height;
public:
void Set(double w , double l){
width = w;
height = l;
}
};
y yo decleare tal objeto:
Rectangle *Obj;
y luego tratar de inicializar sus propiedades:
Obj->Set(3,5);
el compilador muestra en tiempo de ejecución: The variable 'Obj' is being used without being initialized.
El problema puede ser resuelto por:
Rectangle *Obj=new Rectangle;
Me gustaría preguntar acerca de la razón! ¿Y por qué el compilador no muestra ningún error en el tiempo de compilación?
Solo un comentario, pero 'Rectangle * Obj;' no solo _declare_; también _define_. Y reserva memoria; suficiente memoria para almacenar un puntero. –
@JamesKanze: Por supuesto, tienes razón. Actualizaré mi respuesta de inmediato – arne