Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - NekoOs

#1
Hola mi duda es bastante sencilla al parecer y es que no se si estaría bien una sintaxis en particular, estoy creando un proyecto con WxWidgets y tengo una clase Dialogo hija de CtrDialogo en la implementación del constructor disparo la ventana y luego cuando el usuario ha finalizado con ella le destruyo...

Código (cpp) [Seleccionar]
Dialogo::Dialogo(wxWindow *parent) : CtrDialogo(parent) {
.
.
.

ShowModal();
Destroy();
}


Hasta aquí bien. Luego en una clase Principal llamo al objeto Dialogo

Código (cpp) [Seleccionar]
new Dialogo(this);

Pero tengo mis dudas en cuanto a el consumo de recurso es por que en ningún momento destruyo el objeto que cree (no por lo menos en la clase Principal), así que considero la opción...

Código (cpp) [Seleccionar]
Dialogo *d = new Dialogo(this);
d->Destroy();


Sin embargo aunque parece que resuelvo mi duda yo mismo, no es así, puesto que me he puesto a pensar que quizás solo quizás no sea necesario puesto que si se fijan bien empleo el estamento Destroy()  justo después de lanzarlo en el constructor de la clase Dialogo
#2
Programación C/C++ / Re: Duda sobre herencia en C++
18 Septiembre 2012, 00:42 AM
Gracias ahora empiezo a entender puedo usar las ecuaciones que poseo en la clase padre pero debe introducir yo los parámetros no puedo usar los últimos parámetros empleados en la clase padre  :-(

empece haciendo pruebas donde llamada de esta manera a un método de la clase padre para ello inicie en el constructor de la clase padre un valor cualquiera y este era la respuesta

padre.cpp
Código (cpp) [Seleccionar]
padre::padre() {
Ejemplo=parametro;
}



main.cpp
Código (cpp) [Seleccionar]
p.setEjemplo(x); //usando esta asignación, no se imprimía el valor deseado
h.padre::setEjemplo(x); // esta resulto perfecta
cout << h.padre::getEjemplo();


pero esto significa que si tuviese varios metodos tendria entonces que hacer:
padre.cpp
Código (cpp) [Seleccionar]
padre::padre() {
Ejemplo=parametro; // esto generalmente sera inicializado en cero
        Ejemplo2=parametro;
}



main.cpp
Código (cpp) [Seleccionar]
p.setEjemplo(x); //usando esta asignación, no se imprimía el valor deseado
h.padre::setEjemplo(x); // esta resulto perfecta
h.padre::setEjemplo2(x); // para luego poder llamarlo por medio de hijo
cout << h.padre::getEjemplo();
cout << h.padre::getEjemplo2();

#3
Programación C/C++ / Re: Duda sobre herencia en C++
17 Septiembre 2012, 19:21 PM
Gracias por responder, sin embargo esto que has planteado lo tengo claro y aun asi no se por que no funciona mira, pues que te digo publicare la secuencia de los archivos a ver si vez donde esta el inconveniente:

padre.h
Código (cpp) [Seleccionar]
#ifndef PADRE_H
#define PADRE_H

class padre {
Tipo Ejemplo;
private:
protected:
public:
padre();
~padre();
void setEjemplo(Tipo E);
Tipo getEjemplo();
Tipo Funcion();
};

#endif


padre.cpp
Código (cpp) [Seleccionar]
#include "padre.h"

padre::padre() {

}

padre::~padre() {

}


void padre::setEjemplo (Tipo E) {
Ejemplo=E;
}

Tipo padre::getEjemplo ( ) {
return Ejemplo;
}

Tipo padre::Funcion ( ) {
return operacion_que_emplea(Ejemplo);
}


hijo.h
Código (cpp) [Seleccionar]
#ifndef HIJO_H
#define HIJO_H
#include "padre.h"

class hijo : public padre {
private:
protected:
public:
hijo();
~hijo();
Tipo Funcion_h();
};

#endif


hijo.cpp
Código (cpp) [Seleccionar]
#include "hijo.h"

hijo::hijo() {

}

hijo::~hijo() {

}


Tipo hijo::Funcion_h ( ) {
return Funcion()+getEjemplo(); //es solo un ejemplo
}


main.cpp
Código (cpp) [Seleccionar]
#include<iostream>
#include "hijo.h"
#include "padre.h"
using namespace std;

int main () {
hijo h;
padre p;//tengo entendido que no hay necesidad de declarar la clase padre si sus funciones estan incluidas en hijo sin embargo en el original yo lo nombro
Tipo x; //declaracion de parametros
cout << "Digite el parametro: ";
cin >> x;
p.setEjemplo(x);
cout << p.getEjemplo(); //escribe perfecto
cout << h.getEjemplo(); //se supone que deberia ser el mismo resultado cosas que he intentado:
//cout << h::p.getEjemplo();
//cout << h->padre.getEjemplo();
//y varias mas que se qui ni al caso...
cout << h.Funcion_h(); // ademas tambien necesito calcular esto y depende de padre
return 0;
}


Realmente necesito ayuda urgente el proyecto en pasado mañana y estoy quedado solo en ese pedacito se que es algo que estoy omitiendo y quizas sencillo de solucionar, del resto no poseo muchas dudas :huh:
#4
Programación C/C++ / Duda sobre herencia en C++
16 Septiembre 2012, 00:09 AM
La duda es la siguiente digamos que en una clase padre yo poseo el siguiente esquema:
ahora bien en una clase hijo que pose la siguiente estructura:

la cuestión es que al momento de implementar necesito el resultado del método Funcion() y el getEjemplo() en el método Funcion_h().
asi:

Código (cpp) [Seleccionar]

Tipo hijo::Funcion_h ( ) {
return Funcion()+getEjemplo(); //es solo un ejemplo
}


La pregunta es como hago ya he intentado las siguientes sintaxis:
Código (cpp) [Seleccionar]
padre::getEjemplo()
padre.getEjemplo()
Tipo hijo::Funcion_h ( ) : getEjemplo() {
return Funcion()+getEjemplo(); //es solo un ejemplo
}

se que no es asi pero aja uno nunca sabe  ;D
Les agradeceria me ayudaran urgentemente es un proyecto  :silbar:
Gracias de antemano...
#5
Programación C/C++ / Re: Abrir archivo en C++
22 Julio 2012, 18:17 PM
Perdonen si estoy reviviendo un tema muy antiguo pero quizas aun personas con este problema, la solucion es sencilla deben usar barras invertidas doble ya que por default c++ asimila a \ como un predico de caracteres especiales como "\n:=Cambio de linea"  :silbar: espero esto les sirva  ;D

Código (cpp) [Seleccionar]
#include<iostream>
#include <cstdlib>
using namespace std;

int main () {
system("C:\\WINDOWS\\MiPorgrama.exe");
return 0;
}


Por cierto aquí considerando que en la ruta no existen espacios. En cuyo caso existiesen espacios la solucion seria asi:

Código (cpp) [Seleccionar]
#include<iostream>
#include <cstdlib>
using namespace std;

int main () {
system("\"C:\\Documents and Settings\\Virulento\\Escritorio\\Doc3.docx\"");
return 0;
}


Recuerda que para c++ (") y (\) son caracteres especiales  ;) .
#6
Cita de: RHL en 20 Julio 2012, 06:59 AM
pon todo el codigo, creo que todos detestamos intentar adivinar

Realmente no creo que sea necesario, eso es lo bueno de POO que no se necesita conocer todo el código para saber como funciona si te das cuenta todo funciona de 10. La pregunta es que estoy haciendo mal en la función sumavector():
Código (cpp) [Seleccionar]
void suma::sumavector ( ) {
for (int n=0; n<=9; n++) {
sumatoria+=vector[n];
}
cout << sumatoria;
}

es aquí el problema porque lo que hace es esto: "imaginemos que para cada elemento del vector digitamos el numero 1 la suma debe ser igual a 10". Sin embargo arroja 18  :-[
adiciono una linea para que me muestre cada vuelta del ciclo:
Código (cpp) [Seleccionar]
void suma::sumavector ( ) {
sumatoria=0;
for (int n=0; n<=9; n++) {
sumatoria+=vector[n];
cout << "cuando n es: " << n << " el vector es: " << vector[n] << " y la sumatoria va por: " << sumatoria << endl;
}
cout << sumatoria;
}




Ahora fíjense que cuando n=9 el vector=18 :[ osea vector[9]=18 pero no entiendo si esta claro que le he asignado 1.

Tengo una teoría quizás sea problema de dimensión en el vector no se si aquí aplique pero en el caso de los arreglos char el atributo debe contener un espacio extra donde se le asigna el valor final_de_linea, el problema es que el profesor nos indico realice un vector de dimensión 10 y sume sus elementos y planteo que la forma de declarar un vector es vector[n-1] donde n es la dimensión que deseo.
Una vez cambie la declaración vector[9] por vector[10] todo funciona ok. es mas creo que mi confusión era que el profesor me planteo que para definir un vector de dimensión 10 debía especificar vector[9] creo que esto es un error, aunque 9 si es la décima posición del vector la declaración del vector debe ser vector[10] ya que debe reservar la ultima posición a Final_de_linea O.o...
Si mi teoria es cierta simplemente declarare vector[10] y esto estaría solucionado, sin emabrgo lo dejare abierto esperando una respuesta mas profunda para fundamentar frente al profesor  :silbar:
#7
Programación C/C++ / Problema con un vector
20 Julio 2012, 06:28 AM
Este es mi archivo principal. En el por medio de un for le asigno un valor a cade elemento de un vector
Código (cpp) [Seleccionar]
int main () {
suma s;
int elemento;
for (int i=0; i<=9; i++) {
cout << "Digite el elemento [" << i << "]: ";
cin >> elemento;
s.setvector(i, elemento);
}
s.sumavector();
return 0;
}


Esta es la implementacion de mi función. En este sumo todos los elementos todo funciona bien hasta que llega a el vector[9]:
Código (cpp) [Seleccionar]
void suma::sumavector ( ) {
for (int n=0; n<=9; n++) {
sumatoria+=vector[n];
}
cout << sumatoria;
}


Un vistazo a como me ejecuta:


Nota: Estoy completamente seguro que el problema inicia en vector[9] pero no se porque.
#8
Scripting / Re: [Reto Batch] It's a dir?
1 Julio 2012, 08:19 AM
Cita de: Leo Gutiérrez. en 30 Junio 2012, 19:58 PM
No estoy en Windows, pero algo así debería funcionar, bueno, quizás :p

Código (bash) [Seleccionar]
cd dir && (
    echo Es dir
) || (
    echo No es un dir...
)


Saludos.
corrígeme si entiendo mal tu code:
Código (bash) [Seleccionar]
cd dir && (             //cd=acceder a                 dir=carpeta llamada dir             &&=si se cumple
echo Es dir             //escribir "es dir"
) || (                  //sino
echo No es un dir       //escribir "No es un dir"

sin embargo la respuesta en caso de no ser un directorio sera "El sistema no puede hallar la ruta especificada" y obviamente escribiría "No es dir"
Aun asi es una solución  ;) quedaria aun mejor si tan solo agregaras un CLS que borre la respuesta de error del comando CD así:
Código (bash) [Seleccionar]
cd dir && (
    echo Es dir
) || (
    cls
    echo No es un dir...
)

el único inconveniente es que solo evaluaría una carpeta llamada dir  :-\ y creo que el reto es reconocer solo los directorios contenidos en un lugar especifico. Por tanto insisto que la solución que plantee es mas acertada sin ánimos de crear polémica ni nada  ;D
#9
Scripting / Re: [Reto Batch] It's a dir?
28 Junio 2012, 04:39 AM
Cita de: juan196518 en  6 Mayo 2012, 07:14 AM
Hora que me doy cuenta tienes razon no es dir.

No te desanimes juan19658 despues de todo si es DIR
Se que ya ha pasado tiempo sin embargo quisiera contribuir al notar que la respuesta no esta expuesta aqui  ;D

La solucion es relativamente sencilla:
Código (dos) [Seleccionar]
DIR /AD /B
#10
Te agradezco mucho por tu ayuda aunque encontre la manera de solucionarlo claro el metodo era algo mas engorroso  ;D pronto estare actualizando todo el codigo que escribi y me sera muy util tu aporte  ;-)