¿Se puede devolver un objeto creado localmente?
Publicado por Lalo (11 intervenciones) el 27/01/2003 16:18:40
Se puede hacer
A function
{
A function
{
Valora esta pregunta


0



#include <iostream>
#include <string>
class MiClase {public:std::string nombre;
MiClase(std::string n) : nombre(n) {}
};MiClase crearObjeto() {
MiClase obj("Ejemplo");
return obj; // Se devuelve el objeto local}int main() {
MiClase miObjeto = crearObjeto(); // Se llama a la función y se recibe el objeto
std::cout << "Nombre del objeto: " << miObjeto.nombre << std::endl;
return 0;
}MiClase* crearObjeto() {
MiClase* obj = new MiClase("Ejemplo");
return obj; // Se devuelve un puntero al objeto}int main() {
MiClase* miObjeto = crearObjeto(); // Se recibe el puntero
std::cout << "Nombre del objeto: " << miObjeto->nombre << std::endl;
delete miObjeto; // No olvides liberar la memoriareturn 0;
}
