Hola:
Estoy intentado aprender a destruir objetos y por lo visto veo que hay que crear un puntero al objeto que cree y luego eliminarlo desde el objeto. Creo que he hecho eso pero aún asi el código no me copila. ¿Sabe alguien por qué?
Nodo.hclass Nodo{
protected:
float salida;
int size_pesos;
float* pesos;
public:
Nodo(int in_size_pesos, float in_salida);
~Nodo();
void print_pesos();
void print_salida();
};
Nodo.cpp(...)
Nodo::Nodo(int in_size_pesos, float in_salida)
{
size_pesos = in_size_pesos;
salida = in_salida;
pesos = new float[in_size_pesos];
for(int i=0;i<size_pesos;i++)
pesos
= static_cast<float> (i*0.1);
}
Nodo::~Nodo()
{
delete[] pesos;
}
(...)
EntryPoint.cpp
int main()
{
Nodo node(10,6.0);
Nodo* ptrNodo = new(Nodo)
Nodo* p1 = &node; //Me da el fallo aquí
node.print_salida();
node.print_pesos();
delete ptrNodo;
(...)
}
Por cierto, ¿el destructor está bien así? Los atributos que no seas arrays o punteros ¿cómo los elimino?
Muchas gracias