#include <iostream>
#include <string>

using namespace std;

class Caja {
private:
    string* contenido;
public:
    Caja(string text) {
        contenido = new string(text);
    }
    ~Caja() {
        delete contenido;
    }
    Caja(const Caja& otra) {
        contenido = new string(*otra.contenido);
    }
    
    string getContenido() { 
        return *contenido; 
    }
};

void abrirCaja(Caja& c) {
    cout << "Abriendo: " << c.getContenido() << endl;
}

Caja duplicar(Caja c) {
    return Caja(c.getContenido() + " (Copia)");
}

int main() {
    Caja original("Documentos Secretos");
    
    abrirCaja(duplicar(original)); 
    
    return 0;
}
