elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Bases de Datos / [?] Consulta Sentencia "SELECT" SQL Anidada en: 30 Septiembre 2016, 20:12 pm
Hola a todos, soy nuevo en este subforo y recién estoy comenzando a ver las cosas que se pueden ir haciendo con bases de datos (léase, perdón desde ya por mi ignorancia).
El tema es el siguiente:

Tengo una DB con 2 tablas que me interesan: Una llamada "Servicios" (tabla 1) y la otra "PagoServicios" (tabla 2).
(Cualquier cosa, si no carga la imágen acá el link https://kn3.net/61CA354A71AJPG.html).
El hecho es que necesito una sentencia SQL que me seleccione los Nombres de servicios según el ID del servicio de la tabla 2, sin repetir y su respectivo costo, de un usuario específico en un año específico.
Intenté con algo parecido a esto:

Código
  1. SELECT (SELECT DISTINCT t1.nombreservicio FROM Tabla1 AS t, Tabla2 AS t2 WHERE t1.IDServicio = t2.IDServicio), t2.Costo FROM Tabla2 AS t2 WHERE t2.año = 2016 AND IDUsuario = 14;
La cuestión: Sólo me devuelve la primera coincidencia dentro de la búsqueda.
No se si me hago entender pero, el resultado que espero, es el siguiente:
Código:
Agua | 80
Gas  | 60
Y no, sólo me tira "Agua | 80", "Agua | 60". Como recién inicio en SQL (sólo manejo las sentencias más básicas que existen) no tengo idea dónde puede estar mi error.

Cualquier sugerencia, corrección y demás será agradecida siempre y cuando sea en un marco de respeto.

Gracias desde ya :).
2  Sistemas Operativos / GNU/Linux / [?] Ayuda con interfaz de red en Kali Linux en: 6 Mayo 2016, 20:52 pm
Hola, hace poco postié en el foro el problema que tuve (pero al parecer, no tuvo relevancia).
Espero que alguien pueda dar con una posible solución, ya que me es imposible cambiar todos los script que debo utilizar a diario por el "problema".

En fin, tengo una netbook viejita y decidí poner a prueba mi red. Instalé Kali (la última versión actualizada), y empecé a probar las distintas formas de vulnerabilidades que presentaba mi red. Me encontré con una herramienta muy buena como Linset, la cual procedí a instalar (previo update del sistema) y sus paquetes correspondientes (como hostapd y otros). Hasta acá, todo perfecto, el tema es que cuando conecto la placa usb a la net, me cambia de nombre:

Citar
ath9k_htc wlxa42bb0beeae0 renamed from wlan1

El tema es que ya estuve revisando varios lugares
(http://askubuntu.com/questions/142731/problem-renaming-wireless-interfaces
https://ivi.fnwi.uva.nl/sne/air//wiki/LogicalInterfaceNames/
https://answers.launchpad.net/ubuntu/+question/62716)
y nada...no quiere volver a llamarse wlan1 la interfaz de red.

Tengo conectadas dos placas, la PCI que ni ocupo y la USB (que es la que me está dando problemas desde que hice el update). La placa en cuestión es una USB TP-LINK TL-WN722N y el chipset que la maneja es un Atheros (9k_htc en Kali).
Sin más, les agradezco desde ya cualquier información que tengan.

Nota: No hay problemas de compatibilidad, ya que el driver viene por defecto en el núcleo (y además, antes podía usar sin problema alguno)
Nota 2: Probé, como lo dice en las páginas consultadas, cambiar la configuración que traía el archivo de la norma udev, pero grande fue la sorpresa al saber que estaba vacío (?) por lo que inserté los datos de mi tarjeta y reinicié, sin dar con una solución.
Nota 3: Me molestó tanto que procedí a reinstalar toda la distribución, desde 0 (si, por esto) pero al hacer de nuevo el update me tira ese nombre de interfaz igual  >:D :-( .
Nota 4: Soy extranjero en linux, por lo tanto estoy aprendiendo de la mejor forma (rompiendo todo) por lo tanto, si es un error muy común/simple/boludo sepan entender.
3  Seguridad Informática / Hacking Wireless / [?] ayuda con interfaz de red en: 5 Mayo 2016, 20:52 pm
Hola a todos.
Mi problema es bastante difícil de explicar, pero voy a tratar de resumir y ser conciso:
Tenia un problema con mi placa PCI inalámbrica por lo que decidí comprar una wireless usb (que por cierto, es baratisima y funciona 10p  ::)).
Al conectarla pude hacer una auditoría y pentesting (básico, estoy en el aprendizaje) de mi propia red. El tema es que, quise instalar linset para hacerme un evil twin y poder monitorear desde mi teléfono. Al instalar linset me pedía otros paquetes (dhcp, hostapd, etc) los cuales, cambiando de repositorio, pude instalar.
El tema es que ahora, mi placa de red usb paso a llamarse wlax00b4r4 (algo así, no me voy a poner a tipear eso xD) y no tengo forma de volver a su básica wlan1.
Es horrible tener que poner en modo monitor una interfaz con ese nombre (a pesar que, luego de hacerlo, en modo monitor se llame wlan1mon).
Buscando en don Google me enteré que Linux asocia el nombre de la interfaz con su Mac en un archivo de configuración, y que si lo eliminaba, al volver a conectarla le agregaría otro nombre a la interfaz pero...nada.
Sigo con wlxjeie93  :(
Si alguien podría ayudarme (si es con detalles para estudiarlos, mejor) le agradezco.
Saludos :).

Nota: si sirve de algo, la placa usb es una tplink wn722n chiste atheros (el parcheado es 9k). Gracias desde ya.
4  Seguridad Informática / Wireless en Linux / [?] Ayuda sobre Airodump-ng en: 21 Abril 2016, 09:22 am
Hola a todos. Estoy teniendo un problema mayor con Airodump-ng.
Instale en una netbook bastante viejita la nueva versión de la distro de Kali para iniciarme con ella. Leí todo lo que pude resistirme antes de querer arrancar a probar el sistema como un terrible noobie.
En fin, estoy auditando mi propia red y me encuentro con el problema que, al capturar con airmon-ng no suben los #Data (ni aparecen equipos conectados, a pesar que tengo algunos 24-7). Busque info en el foro y en el Sr Google pero nada parecía ser tal cuál me sucede a mi.
La tarjeta de red que tiene la Net es una rtl8180 (no recuerdo bien) y el chipset es un Atheros AR242/542 aunque no recuerdo bien: en todo caso, ante mi rotunda amnesia, no esta demás decir que es compatible con el modo monitor y la suite de aircrack-ng (según un iw list y varias páginas revisadas con anterioridad).
Pensaba que el problema radicaba en los canales que estaba revisando pero cuando vi algo de documentación de airodump caí que revisa por defecto todos los canales. Los beacons suben a no dar más pero los #Data no...quedan en 0, y me sorprende saber que "no hay equipos conectados".
Desde ya, gracias por toda la ayuda que puedan brindar y sepan disculpar mi severa ignorancia sobre el tema (todavía reviso cada tanto las normas y protocolos 😪😂).
Nota: Les dejó los pasos que sigo para que me corrijan el/los error/es:
(Todo como root)

*Airmon-ng start wlan0

*Airodump-ng wlan0 (para revisar en que canal está corriendo una red; en el caso de la mía se que es el 11).
[Acá usualmente lo paro al ver el canal y la Mac]

*Airodump-ng wlan0 --bssid 00-11-22-33-44-55 -w captura_babosa -c 11

*Y acá seguiría con aircrack-ng y un diccionario, si tan solo tuviese paquetes capturados 😡.

Demás está decir que me encuentro en el rango de la señal de la onda, ya que es mi propia red y la tengo a unos metros, configurada con WPA2/CCMA/AES y con filtro de MAC habilitado, y reitero que la tarjeta es compatible para modo monitor y que tengo equipos conectados a la red todo el tiempo, solo que "no aparecen". Nuevamente, gracias desde ya.
5  Programación / Programación C/C++ / [C++][?] C++ Integración con wxWidget - Aplicación Cliente/Servidor en: 30 Julio 2015, 19:07 pm
Hola a todos, llevo bastante tiempo sin publicar en el foro (aunque no sin revisar ;D).
El tema es el siguiente:

Estoy desarrollando una aplicación cliente/servidor desde C++ con wxWidget. Tengo las clases wxSocketClient y wxSocketServer, que me sirven para conectar un socket del cliente y otro del server respectivamente. Mi duda es la siguiente:

¿Hay alguna manera de autenticar los datos enviados desde el cliente hacia el server?

Ejemplo:

El cliente tiene un formulario con 2 textbox: "Usuario" y "Contraseña". Conecto desde el cliente al server y le envío los datos de los mismos. Para saber si el cliente que se conecta es un usuario registrado, ¿debería operar de forma totalmente apartadas a las clases de sockets para luego buscarlas en una base de datos y revisar que el cliente existe o las propias clases wx tienen algún método más seguro de autenticación? Desde ya, muchas gracias y perdonen mi ignorancia.

6  Programación / Programación C/C++ / [?][C++] wxTextCtrl - wxWidget en: 1 Abril 2015, 08:25 am
Hola a todos.

Tengo un pequeño problema. Me encuentro desarrollando un programa de dactilografía el cual se compone (básicamente, sin menúes, teclas especiales ni nada más) de dos wxTextCtrl (textbox para los que desarrollan en Visual C# si mal no recuerdo).

El primero de los wxTextCtrl contiene el texto a digitar, y el segundo el comportamiento del usuario tecleando. Mi gran problema es que, quiero seleccionar cada caracter en el que se encuentre el usuario en el momento dado.
Ej.: El wxTextCtrl contiene el texto: "Las constelaciones..:" Y EL CARACTER 'L' SELECCIONADO al inicio de mi aplicación. El segundo, en blanco por el momento, debe insertar lo que el usuario teclea. A medida que el usuario digita las letras correctas, la selección va aumentando 1 posición (algo así como http://10fastfingers.com/typing-test/spanish pero con una caja de texto debajo que informe lo que se teclea y obviamente seleccionando letras, no palabras).

Con el segundo wxTextCtrl no tengo mayores inconvenientes, el problema se presenta que, al escribir en éste, el wxTextCtrl que contiene el texto a "copiar" pierde el foco y consecuentemente "no me selecciona nada" (dicho así, ya que selecciona realmente y no se alcanza a visualizar por la obtención del foco del segundo wxTextCtrl) debido a que el segundo wxTextCtrl toma el foco gracias al evento "OnChar" (que es el causante de poder obtener las teclas pulsadas por el usuario).

Desde ya, muchas gracias por su ayuda :).
7  Programación / Programación C/C++ / [?] [C++] Duda sobre creación de directorios en: 21 Marzo 2015, 17:32 pm
Hola a todos.
Estaba programando tranquilamente cuando me encontré con el grave problema de no saber cómo crear un directorio bajo C++. El tema de crearlo en sí, no es el problema, sino que no encuentro nada "standard" y si o sí standard, porque mi proyecto se puede ejecutar tanto en Windows, Linux como Mac, y no manejo muy bien las directivas del pre-procesador como para usar una u otra función dependiendo el SO.
Si alguien sabe, de ante mano le agradezco.

P.D.: En gugl estuve viendo algunas alternativas, nada standard, como makedir (de MS-DOS) y lo más parecido a standard, Filesystem de boost.

Desde ya, muchas gracias :).
8  Programación / Programación C/C++ / [C++] [?] SIGSEGV en: 15 Marzo 2015, 15:36 pm
Hola a todos.

Tengo un pequeño gran problema con archivos y todo el estandar :B. Lo que quería hacer (por hacer, nada de facultad ni por el estilo) era guardar en un fichero unos 3 strings, y luego cargarlos dentro de un programa con ventanas. Hasta ahí, todo bien, el tema me surge cuando cargo los strings (me los devuelve con basura). Les dejo el código para que me remarquen el error, ya que sé que será de novato, pero no lo encuentro.

Código
  1. #include "frmVentana.h"
  2. #include <wx/msgdlg.h>
  3. #include <fstream>
  4. #include <sstream>
  5. #include <string>
  6. using namespace std;
  7.  
  8. frmVentana::frmVentana(wxWindow *parent) : Frame1(parent) {
  9. aux = "";
  10. Show();
  11. ofstream salida("datos.dat",ios::binary|ios::trunc);
  12. if (!salida.is_open()) {
  13. wxMessageBox("No se pudo guardar");
  14. }
  15. aux = "Nombre";
  16. salida.write(reinterpret_cast<char*>(&aux),sizeof(string));
  17. aux = "00";
  18. salida.write(reinterpret_cast<char*>(&aux),sizeof(string));
  19. aux = "C:\\una_imagen.png";
  20. salida.write(reinterpret_cast<char*>(&aux),sizeof(string));
  21. salida.close();
  22. }
  23.  
  24. frmVentana::~frmVentana() {
  25.  
  26. }
  27.  
  28. void frmVentana::CargarNomClick( wxCommandEvent& event )  {
  29. ifstream archivo("datos.dat",ios::binary|ios::ate);
  30. if (!archivo.is_open()) {
  31. wxMessageBox("No se pudo cargar");
  32. }
  33. archivo.seekg(0*sizeof(string));
  34. aux.clear();
  35. archivo.read(reinterpret_cast<char*>(&aux),sizeof(string));
  36. archivo.close();
  37. lblNombre->SetLabel(aux);
  38. }
  39.  
  40. void frmVentana::CargarValorClick( wxCommandEvent& event )  {
  41. ifstream archivo("datos.dat",ios::binary|ios::ate);
  42. if (!archivo.is_open()) {
  43. wxMessageBox("No se pudo cargar");
  44. }
  45. archivo.seekg(1*sizeof(string));
  46. aux.clear();
  47. archivo.read(reinterpret_cast<char*>(&aux),sizeof(string));
  48. archivo.close();
  49. lblValorGral->SetLabel(aux);
  50. }
  51.  
  52. void frmVentana::CargarImgClick( wxCommandEvent& event )  {
  53. ifstream archivo("datos.dat",ios::binary|ios::ate);
  54. if (!archivo.is_open()) {
  55. wxMessageBox("No se pudo cargar");
  56. }
  57. archivo.seekg(2*sizeof(string));
  58. aux.clear();
  59. archivo.read(reinterpret_cast<char*>(&aux),sizeof(string));
  60. archivo.close();
  61. wxBitmap a;
  62. a.LoadFile(aux,wxBITMAP_TYPE_PNG);
  63. imgPais->SetSize(a.GetWidth(),a.GetHeight());
  64. imgPais->SetBitmap(a);
  65. }
  66.  
  67. void frmVentana::CargarIcoClick( wxCommandEvent& event )  {
  68. ifstream archivo("datos.dat",ios::binary|ios::ate);
  69. if (!archivo.is_open()) {
  70. wxMessageBox("No se pudo cargar");
  71. }
  72. archivo.seekg(2*sizeof(string));
  73. aux.clear();
  74. archivo.read(reinterpret_cast<char*>(&aux),sizeof(string));
  75. archivo.close();
  76. wxBitmap a;
  77. a.LoadFile(aux,wxBITMAP_TYPE_PNG);
  78. icoPais->SetSize(a.GetWidth(),a.GetHeight());
  79. icoPais->SetBitmap(a);
  80. }

P.D.: Integro wxFormBuilder (wxWidget) al código para crear mis ventanas, botones, labels, etc.
P.D.2: Utilizo un string "aux" que está declarado como privado en la clase "frmVentana".
P.D.3: Suelo utilizar nombres bien 'boludos' para las clases heredadas, por lo tanto confío en que sabrán que un "lblNombre" es una etiqueta en donde se mostrará un string "nombre".

Desde ya, muchas gracias :).
9  Programación / Programación C/C++ / [?][C++] Vectores, strings y archivos con clase - C++ en: 6 Marzo 2015, 15:38 pm
Hola a todos; me encuentro con un grave problema (que raramente no vi mientras hacía mi proyecto). En fin, tengo dos clases (en el proyecto, tengo unas cuaaantas más, pero a modo explicativo y para resumir, solo 2 por acá): "Madre" e "Hija", que se relacionan por composición (Una madre tiene un vector (stl) de hijas). El tema es que también en su composición tienen strings (para almacenar los nombres en este caso) y tengo un vector que uso desde el main que es de tipo Madre.
La idea es poder guardar esos datos en un archivo para poder consultarlo luego más tarde (en el vector voy guardando Madres [con sus respectivas hijas]), pero me encuentro con que si quiero guardar un vector en un fichero, solo guardo 'basura' o 'posibles direcciones', nada de lo que me interese.
Les dejo el código de ejemplo que hice, para ver si me pueden dar una mano y/o una guía para revisar, ya que, si bien en este caso las clases son bastante simples (y hasta podrían heredarse), en mi proyecto original son bastante más complicadas y no deseo re-diseñar todas las mismas, ya que me llevaría mucho más tiempo que encontrarle una solución a esto.

Madre.h
Código
  1. #ifndef MADRE_H
  2. #define MADRE_H
  3. #include "Hija.h"
  4. #include <vector>
  5. #include <string>
  6. using namespace std;
  7.  
  8. class Madre {
  9. private:
  10. string nombre;
  11. int edad;
  12. vector<Hija> susHijas;
  13. protected:
  14. public:
  15. //Constructor
  16. Madre();
  17. //Consultores
  18. int MostrarEdad(void);
  19. string MostrarNombre(void);
  20. Hija MostrarHija(const int&);
  21. int CantidadHijas(void);
  22. //Cargadores
  23. bool CargarEdad(const int&_edad);
  24. bool CargarNombre(const string&_nombre);
  25. bool CargarHija(const Hija &_hija);
  26. bool EliminarHija(const int &_indice);
  27. bool CargarDatos(const string &_nombre, const int &_edad);
  28. //Destructor
  29. ~Madre();
  30. };
  31.  
  32. #endif

Madre.cpp
Código
  1. #include "Madre.h"
  2. #include <sstream>
  3. using namespace std;
  4.  
  5. Madre::Madre(void) : nombre("N/N"), edad(-1) {
  6. susHijas.clear();
  7. }
  8.  
  9. Madre::~Madre(void) {
  10.  
  11. }
  12.  
  13. int Madre::MostrarEdad(void) {
  14. return edad;
  15. }
  16.  
  17. string Madre::MostrarNombre(void) {
  18. return nombre;
  19. }
  20.  
  21. bool Madre::CargarEdad(const int & _edad) {
  22. edad = _edad;
  23. return (edad==_edad)?true:false;
  24. }
  25.  
  26. bool Madre::CargarNombre(const string & _nombre) {
  27. nombre = _nombre;
  28. return (nombre==_nombre)?true:false;
  29. }
  30.  
  31. Hija  Madre::MostrarHija(const int &_indice) {
  32. if (unsigned(_indice)>susHijas.size() || susHijas.empty()) {
  33. Hija aux;
  34. return aux;
  35. }
  36. return susHijas[_indice];
  37. }
  38.  
  39. bool Madre::CargarHija(const Hija &_hija) {
  40. susHijas.push_back(_hija);
  41. return true;
  42. }
  43.  
  44. bool Madre::EliminarHija(const int &_indice) {
  45. if (unsigned(_indice)>susHijas.size()) {
  46. return false;
  47. }
  48. susHijas.erase(susHijas.begin()+_indice);
  49. return true;
  50. }
  51.  
  52. int Madre::CantidadHijas(void) {
  53. return int(susHijas.size());
  54. }
  55.  
  56. bool Madre::CargarDatos(const string &_nombre, const int &_edad) {
  57. nombre = _nombre;
  58. edad = _edad;
  59. return true;
  60. }

Hija.h
Código
  1. #ifndef HIJA_H
  2. #define HIJA_H
  3. #include <string>
  4. using namespace std;
  5.  
  6. class Hija {
  7. private:
  8. string nombre;
  9. int edad;
  10. protected:
  11. public:
  12. //Constructor
  13. Hija();
  14. //Consultores
  15. int MostrarEdad(void);
  16. string MostrarNombre(void);
  17. //Cargadores
  18. bool CargarEdad(const int&_edad);
  19. bool CargarNombre(const string&_nombre);
  20. bool CargarDatos(const string &_nombre, const int &_edad);
  21. //Destructor
  22. ~Hija();
  23. };
  24.  
  25. #endif

Hija.cpp
Código
  1. #include "Hija.h"
  2.  
  3. Hija::Hija() : nombre("N/N"), edad(-1) {
  4.  
  5. }
  6.  
  7. Hija::~Hija() {
  8.  
  9. }
  10.  
  11.  
  12. int Hija::MostrarEdad(void) {
  13. return edad;
  14. }
  15.  
  16. string Hija::MostrarNombre(void) {
  17. return nombre;
  18. }
  19.  
  20. bool Hija::CargarEdad(const int & _edad) {
  21. edad = _edad;
  22. return (edad==_edad)?true:false;
  23. }
  24.  
  25. bool Hija::CargarNombre(const string & _nombre) {
  26. nombre = _nombre;
  27. return (nombre==_nombre)?true:false;
  28. }
  29.  
  30. bool Hija::CargarDatos(const string &_nombre, const int &_edad) {
  31. nombre = _nombre;
  32. edad = _edad;
  33. return true;
  34. }

Main.cpp
Código
  1. #include<iostream>
  2. #include <string>
  3. #include <fstream>
  4. #include "Madre.h"
  5. #include <sstream>
  6. #include "Hija.h"
  7. using namespace std;
  8.  
  9. ostream& operator<<(ostream &os, Madre &_madre) {
  10. stringstream aux;
  11. if (!_madre.CantidadHijas()==0) {
  12. aux<<" y tiene "<<_madre.CantidadHijas()<<" hijas";
  13. } else {
  14. aux<<" y no tiene hijas";
  15. }
  16. return os<<_madre.MostrarNombre()<<" - "<<_madre.MostrarEdad()<<aux.str();
  17. }
  18.  
  19. ostream& operator<<(ostream &os, Hija &_hija) {
  20. return os<<_hija.MostrarNombre()<<" - "<<_hija.MostrarEdad();
  21. }
  22.  
  23. int main (int argc, char *argv[]) {
  24. //Creo y cargo los datos de una madre
  25. Madre m1;
  26. m1.CargarDatos("Laura",40);
  27. //Creo y cargo los datos de una hija
  28. Hija h1;
  29. h1.CargarDatos("Litoral",15);
  30. //Inserto la hija en el vector de la Madre
  31. m1.CargarHija(h1);
  32. //Muestro los datos de la madre
  33. cout<<m1<<endl;
  34. //Muestro los datos de la Hija
  35. cout<<h1<<endl;
  36.  
  37. //Creo un vector de madres para trabajar con ellas
  38. vector<Madre> vMadres;
  39. //Cargo una madre al mismo
  40. vMadres.push_back(m1);
  41. //¿Guardar?
  42. return 0;
  43. }

Desde ya, muchas gracias por su comprensión, enseñanza, queja o cualquier aporte.

Nota: El último comentario y su raro "&#191;" es porque soy hispanohablante orgulloso, y utilizo mis signos "¿" cuando y cómo yo quiero, si ASCII no lo toma, problema suyo.
Nota 2: Si, se que sería raro ponerle de nombre "Litoral" a una hija, pero es así cuando uno tiene la cabeza nublada y no se le ocurre nada  :xD.
10  Programación / Programación C/C++ / Segmentation Fault C++ en: 15 Enero 2015, 16:03 pm
Hola a todos.
Este es mi primer posteo en esta muy buena página (que desde hace varios años visito a menudo para responder todas las dudas que tenga), así que les pido perdón desde ya por mi ignorancia en los temas siguientes.

Estoy intentando hacer un proyecto en C++ integrando wxFormBuilder y me encuentro con un pequeño problema: Segmentation Fault.
En sí, el problema radica en que quiero acceder a una posición en memoria inválida, aunque no encuentro dónde (ya que el proyecto es bastante grande). Intenté depurar paso a paso y me remarca las líneas donde comienza una de mis clases (no sé por qué) y la línea en la cual intento guardar en un vector, un valor.

En sí, la lógica de mi programa (resumida) es la siguiente:

Clase Mayor tiene un vector (siempre standart) de Clase Hija1, ésta a su vez, tiene un vector de Clase Nieta1.

Cuando intento guardar datos desde mayor a través de un método "guardar Hija1" no surge ningún problema, es más, puedo mostrar los datos de Hija1 (dependiendo la posición que le dé en los argumentos) sin problema alguno; pero el problema me surge cuando quiero mostrar los datos de "Nieta1".

Ej:

1) vector<Mayor> v_Mayor; Hija1 h1; Nieta1 n1;

2)v_Mayor.Agregar(h1); (Dentro del Método "Agregar" hace el push_back correspondiente).

3)v_Mayor.RetornaHija(v_Mayor.size()-1).AgregarNieta(n1);

4)cout<<v_Mayor[v_Mayor.size()-1].RetornaNieta(0).MostrameDatos()<<endl;

Acá, en la línea 4, es donde surge el error de Segmentación.


* Todas las clases tienen sobrecargados los operadores [], <, ==, =.
** El 0 en "RetornarNieta(0)" es más bien para no complicar más y que sólo nos retorne la primera agregada.
*** Cada clase tiene a su vez, un método para cargar, mostrar, eliminar y retornar las cantidades que hay de cada subtipo dentro de una.

Desde ya, les agradezco todas las ayudas, retos y observaciones que me puedan brindar.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines