Avatar de usuario por pello in August 18, 2004, 6:51 pm
Servidor PPTPD unleashed!!

Vamos a la pagina por defecto del servidor pptpd de Linux mas extendido:
http://www.poptop.org/ y descargamos la ultima version en RPM o source.

Este servicio instala un fichero de configuracion:
/etc/pptpd.conf
Aqui interesa especificar la IP local y la remota del tunel:
localip 192.168.10.1 (esta es la IP que se asignara al punto local)
remoteip 192.168.10.2-254 (estas son las IP que se asignaran al punto remoto)

Asi como la IP en la que escucha el servidor. 
listen 200.15.67.78

Atencion:... 
Leer más...  | 0 comments |  PELMAlink |  1929 reads
Avatar de usuario por pello in August 17, 2004, 11:40 pm
Variables/Funciones estaticas Dentro de las clases podemos definir atributos y metodos estaticos. Tienen de particular que son accesibles sin necesidad de definir una clase y que su valor es EL MISMO en todas los objetos que se vayan creando de una clase. Es como una variable global de una clase.
Con este ejemplo se ve su uso, y de paso se revisa el tema de punteros a funciones.
(si, has leido bien).
/**
* Soldado.hpp
* Clase que define el objeto soldado muestra el uso de variables... 
Leer más...  | 0 comments |  PELMAlink |  1534 reads
Avatar de usuario por pello in August 16, 2004, 11:01 pm
GDB Bueno venga, ya vale de llenar nuestro codigo de printf("kk") para depurarlo y vamos a usar el gdb. Una herramienta oscura a la par que poderosa. Aqui anoto los cuatro comandos basicos.
Preparando el terreno Primero compilamos el codigo con el flag -g para una mejor compilacion.
Se genera una tabla de simbolos mejorada
linuz# gcc -g pogama.c -o pogama
Aunque si queremos una mayor depuracion podemos usar el flag -ggdb que generara informacion mas especifica de gdb.
linuz#... 
Leer más...  | 0 comments |  PELMAlink |  1508 reads
Avatar de usuario por pello in August 15, 2004, 2:11 pm
La herencia multiple
Una de las oportunidades que nos ofrece el lenguaje c++ es la posibilidad de que un objeto tenga la herencia de mas de una clase; esta ventaja fue considerada por los desarrolladores de Java como una pega y la quitaron, e incluso hay desarrolladores de c++ que prefieren evitar este tipo de herencia ya que puede complicar mucho la depuracion de programas
Para ilustrar un caso de herencia multiple hemos definido la superclase Habitante; de ella heredan dos clases distintas:...
Leer más...  | 0 comments |  PELMAlink |  1634 reads
Avatar de usuario por pello in August 14, 2004, 1:50 pm
La herencia
Como bien se sabe la herencia no se reparte: se descuartiza. Bromas aparte, la herencia constituye una de las herramientas mas poderosas de culto OO. Si una clase hereda de la otra, lo que hereda son todos sus atributos y metodos.
Ademas de heredarlos puede sobreescribirlos, tanto los constructores-destructores como los metodos convencionales.
Veremos un ejemplo claro que resume lo que se puede hacer y los efectos de la herencia
Por un lado vemos la clase generica...
Leer más...  | 0 comments |  PELMAlink |  1655 reads
Avatar de usuario por pello in August 13, 2004, 12:13 pm
Arrays
Se dice arrays o arreglos? en fin.
En c++ podemos definir y usar los arrays casi como en C. Ademas tenemos la ventaja de poder crear arrays de objetos. Veamos un programa en c++ que juega con los arrays:
/**
* ArrayEjemplo.cpp
* Clase que inicializa y maneja algunos arrays
*
* Pello Xabier Altadill Izura
*
* Compilado: g++ ArrayEjemplo.cpp -o ArrayEjemplo
*/


#include <iostream.h>

// Funcion principal
int main () {

// Declaramos dos arrays de enteros de 15 elementos [0..14]
int... 
Leer más...  | 0 comments |  PELMAlink |  1364 reads
Avatar de usuario por pello in August 12, 2004, 12:42 pm
Sobrecarga y valores por defecto
En un clase se pueden sobrecargar los metodos y los constructores, e incluso se pueden asignar valores por defecto a los parametros (como en php). Veamos el ejemplo del coche un poco mas desarrollado.
/**
* Coche.hpp
* Clase que representa un coche
* 
* Pello Xabier Altadill Izura 
*
*/
#include <iostream.h>


class Coche {
private:
	char *marca;
	int cilindrada;
	int caballos;
	enum marcha { Primera, Segunda, Tercera, Cuarta, Quinta, Pto_Muerto};

public:
	Coche();
	Coche(int... 
Leer más...  | 6 comments |  PELMAlink |  1676 reads
Avatar de usuario por pello in August 11, 2004, 1:24 pm
Las referencias
Una referencia es otra forma de acceder a un dato, una especie de alias. Cualquier operacion sobre una referencia afectara a ese dato al que hace referencia. Veamos un ejemplo simple:
/**
* Referencias.cpp
* Programa que muestra el uso de referencias
* 
* Pello Xabier Altadill Izura 
*
* Compilado: g++ Referencias.cpp -o Referencias
*/

#include <iostream.h>

int main() {

	// Definimos un dato y su referencia
	int numero;
	int &referenciaNumero = numero; // Ahi se... 
Leer más...  | 1 comments |  PELMAlink |  1320 reads
Avatar de usuario por pello in August 10, 2004, 10:32 am
Los punteros
Acaso creiais que en c++ no habia punteros? eso solo ocurre en Java. Los punteros no contienen datos, contienen direcciones de memoria. Para cada tipo de dato hay que definir un puntero.
/**
* Puntero.cpp
* 
* Clase que muestra las direcciones de variables
* Pello Xabier Altadill Izura
* Compilar: g++ Puntero.cpp -o Puntero
*/

#include <iostream.h>

int main () {

// Creamos varias variables:
int pruebaInt = 99, prueba2Int;
short pruebaShort = 34;
char carac = 'a';
int... 
Leer más...  | 36 comments |  PELMAlink |  3459 reads
Avatar de usuario por pello in August 9, 2004, 11:10 am
Iteracion con etiquetas
Es la manera primigenia de implementar iteraciones pero lo cierto es que el uso de etiquetas no se recomienda ya que es dificil de entender un programa con etiquetas. A ser posible hay que evitarlas.
/**
* Loop.cpp
* 
* Programa que muestra como usar iteraciones
* Pello Xabier Altadill Izura
* Compilar: g++ Loop.cpp -o Loop
*/

#include <iostream.h>

// Programa principal
int main () {

	cout << " Hola, vamos a mostrar un loop " << endl;

	//Inicializamos variables
	int... 
Leer más...  | 0 comments |  PELMAlink |  1476 reads