int main(){ Persona a; a.setNombre("juan"); a.setEdad(25); Persona b("maria",25); cout << "Dirección de memoria de a: " << &a << endl; cout << "Dirección de memoria de b: " << &b << endl; /*Las asignación entre objetos está permitida y lo que se hace es copiar los valores miembro de un objeto a los de otro. El compilador al igual que con los constructores crea un operador de asignación por defecto, que copia los valores de todos los datos miembro de un objeto a otro. El constructor de copia se limita a realizar una copia bit a bit de las variables del objeto original (el de la derecha) al objeto copia (el de la izquierda). */ a=b; //Parece que ha fucionado,vamos a ver donde están almacenadas esos objetos: cout << "Dirección de memoria de a: " << &a << endl; cout << "Dirección de memoria de b: " << &b << endl; cout << sumaEdades(a,b); /* Salida: Ubuntu> g++ asignacionObjetos.cpp -o prueba; ./prueba Dirección de memoria de a: 0xbfd4ebb4 Dirección de memoria de b: 0xbfd4ebbc Dirección de memoria de a: 0xbfd4ebb4 Dirección de memoria de b: 0xbfd4ebbc 50 Ubuntu> */ }
// Este metodo lee la base de datos y carga el vector de Personas. Esto es para poder identificarlos si aparecen // en la escena y obtener sus datos de perfil. void HiloCaptura::leerBaseCargarPersonas() { if ( ! adminDB.conectar("tubot")) { qDebug() << "Conexion a la base fallida"; return; } QString comando_sql = "SELECT nombre, apellido, mail, url_linkedin FROM personas"; QVector<QStringList> vDatos = adminDB.ejecutarComandoSelect(comando_sql); for (int i=0 ; i<vDatos.size() ; i++) { qDebug() << vDatos.at(i); Persona persona; persona.setNombre(vDatos.at(i).at(0) + " " + vDatos.at(i).at(1)); persona.setMail(vDatos.at(i).at(2)); persona.setLinkedin(vDatos.at(i).at(3)); this->vPersonas.push_back(persona); } escena->setPersonas(vPersonas); }