Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Como puedo hacer una libreria en c++?

Estas en el tema de Como puedo hacer una libreria en c++? en el foro de C/C++ en Foros del Web. Que tal amigos, nuevamente preguntando, tengo un codigo que es el siguiente, necesito que quede en forma de libreria, pero no se como, pudieran decirme ...
  #1 (permalink)  
Antiguo 09/01/2012, 08:37
 
Fecha de Ingreso: diciembre-2011
Mensajes: 5
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta Como puedo hacer una libreria en c++?

Que tal amigos, nuevamente preguntando, tengo un codigo que es el siguiente, necesito que quede en forma de libreria, pero no se como, pudieran decirme de donde a donde es el archivo .cpp, el archivo .h?, el codigo es el siguiente



--------------------

#include <iostream>
using namespace std;

class Aritmetica
{

private:

int result;
public:

/*!
* \ SUMA
*/
int obtenerSuma (int a, int b);
float obtenerSumaf1 (float a, float b);
double obtenerSumad1 (double a, double b);


/*!
* \ RESTA
*/
int obtenerResta (int a, int b);
float obtenerRestaf1 (float a, float b);
double obtenerRestad1 (double a, double b);

/*!
* \ MULTIPLICACION
*/

int obtenerMult (int a,int b);
float obtenerMultf1 (float a,float b);
double obtenerMultd1 (double a,double b);

/*!
* \ DIVISION
*/

int obtenerDiv (int a, int b);
float obtenerDivf1 (float a, float b);
double obtenerDivd1 (double a, double b);
};
/*!
* \ IMPLEMENTANDO METODOS
*\ SUMAR, FUNCION DE ACCESO PUBLICA, REGRESA EL
*\ VALOR DEL MIEMBRO RESULT
*/

/*!
* \ SUMA
*/

int Aritmetica::obtenerSuma(int a, int b)
{
return a+b;
}
/*!
* \ SUMA FLOTANTE
*/
float Aritmetica::obtenerSumaf1(float a, float b)
{
return a+b;
}
/*!
* \ SUMA DOUBLE
*/
double Aritmetica::obtenerSumad1 (double a, double b)
{
return a+b;
}

/*!
* \ RESTA
*/
int Aritmetica::obtenerResta (int a, int b)
{
return a-b;
}
/*!
* \ RESTA FLOTANTE
*/
float Aritmetica::obtenerRestaf1 (float a, float b)
{
return a-b;
}
/*!
* \ RESTA DOUBLE
*/


double Aritmetica::obtenerRestad1 (double a, double b)
{
return a-b;
}

/*!
* \ MULTIPLICACION
*/

int Aritmetica::obtenerMult (int a, int b)
{
return a*b;
}

/*!
* \ MULTIPLICACION FLOTANTE
*/

float Aritmetica::obtenerMultf1 (float a, float b)
{
return a*b;
}

/*!
* \ MULTIPLICACION DOUBLE
*/
double Aritmetica::obtenerMultd1 (double a, double b)
{
return a*b;
}

/*!
* \ DIVISION
*/
int Aritmetica::obtenerDiv (int a, int b)
{
return a/b;
}
/*!
* \ DIVISION FLOAT
*/

float Aritmetica::obtenerDivf1 (float a, float b)
{
return a/b;
}
/*!
* \ DIVISION DOUBLE
*/
double Aritmetica::obtenerDivd1 (double a, double b)
{
return a/b;
}
/*!
* \ MAIN
*/
int main()
{
Aritmetica a = Aritmetica();

int c;
cout<<"RESULTADO DE LA SUMA ENTERA:"<<endl;
c=a.obtenerSuma (8,7);
cout<<c<<endl;
/*!
* \ IMPRESION SUMA
*/
float c1;
cout<<"RESULTADO DE LA SUMA FLOTANTE:"<<endl;
c1=a.obtenerSumaf1 (8.12,7.12);
cout<<c1<<endl;

/*!
* \ IMPRESION SUMA DOUBLE
*/
double c2;
cout<<"RESULTADO DE LA SUMA DOUBLE:"<<endl;
c2=a.obtenerSumad1 (8.12121212,7.12121212);
cout<<c2<<endl;

/*!
* \ IMPRESION RESTA
*/
int d;
cout<<"RESULTADO DE LA RESTA ENTERA:"<<endl;
d=a.obtenerResta (8,7);
cout<<d<<endl;
/*!
* \ IMPRESION RESTA FLOTANTE
*/
float d1;
cout<<"RESULTADO DE LA RESTA FLOTANTE:"<<endl;
d1=a.obtenerRestaf1 (8.12,7.12);
cout<<d1<<endl;
/*!
* \ IMPRESION RESTA DOUBLE
*/
double d2;
cout<<"RESULTADO DE LA RESTA DOUBLE:"<<endl;
d2=a.obtenerRestad1 (8.12121212,7.12121212);
cout<<d2<<endl;

/*!
* \ IMPRESION MULTIPLICACION
*/
int e;
cout<<"RESULTADO DE LA MULTIPLICACION ENTERA:"<<endl;
e=a.obtenerMult (8,7);
cout<<e<<endl;
/*!
* \ IMPRESION MULTIPLICACION FLOTANTE
*/

float e1;
cout<<"RESULTADO DE LA MULTIPLICACION FLOTANTE:"<<endl;
e1=a.obtenerMultf1 (8.12,7.12);
cout<<e1<<endl;
/*!
* \ IMPRESION MULTIPLICACION DOUBLE
*/
double e2;
cout<<"RESULTADO DE LA MULTIPLICACION DOUBLE:"<<endl;
e2=a.obtenerMultd1 (8.12121212,7.12121212);
cout<<e1<<endl;
/*!
* \ IMPRESION DIVISION
*/
int f;
cout<<"RESULTADO DE LA DIVISION ENTERA:"<<endl;
f=a.obtenerDiv (8,7);
cout<<f<<endl;;
/*!
* \ IMPRESION DIVISION FLOTANTE
*/
float f1;
cout<<"RESULTADO DE LA DIVISION FLOTANTE:"<<endl;
f1=a.obtenerDivf1 (8.12,7.12);
cout<<f1<<endl;
/*!
* \ IMPRESION DIVISION DOUBLE
*/
double f2;

cout<<"RESULTADO DE LA DIVISION DOUBLE:"<<endl;
f2=a.obtenerDivd1 (8.12121212,7.12121212);
cout<<f2<<endl;

}
  #2 (permalink)  
Antiguo 09/01/2012, 09:48
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Como puedo hacer una libreria en c++?

decime a que te refieres a "libreria".

Una opcion es sacar el main de ahi, crear un archivo de cabecera, y cada vez que la quieras usar incluirla en la compilacion.

Con el Gcc puedes crear el codigo objeto:
g++ -c miarchivo.cpp

Eso te dara un archivo con extension ".o".

Luego para compilar cualquier otro codigo haces:

g++ main.cpp miarchivo.o

Esa es una idea, tambien existen las librerias dinamicas, tipo DLL pero eso es mas complicado y no se si es con lo que quieres empezar.

Saludos
  #3 (permalink)  
Antiguo 09/01/2012, 10:51
 
Fecha de Ingreso: diciembre-2011
Mensajes: 5
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Como puedo hacer una libreria en c++?

Con libreria me refiero a dividir el codigo en varios archivos (.cpp y .h), pero no se como hacerle para dividirlo, gracias!!!
  #4 (permalink)  
Antiguo 11/01/2012, 23:13
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años
Puntos: 69
Respuesta: Como puedo hacer una libreria en c++?

mira yo apenas me estoy enseñando c++..... asi que no te fiés, pero a loq ue se y a lo que segun veo...

todo lo que esta antes de:
Código:
/*!
* \ IMPLEMENTANDO METODOS
*\ SUMAR, FUNCION DE ACCESO PUBLICA, REGRESA EL
*\ VALOR DEL MIEMBRO RESULT
*/
va en el archivo .h...y todo lo que esta despues de eso, va en el cpp.... en el cpp debes poner al inicio:

#include "nombredeheader.h"

y al inicio del archivo .h van otras cosillas que no me las aprendo aún es algo como:
#ifnded <nombrearchivo_h>
#nded bal bla bla

no estyoy seguro de esto ultimo, como te digo apenas estoy aprendiendo... pero si a lo que veo la division es ese codigo que puse
  #5 (permalink)  
Antiguo 12/01/2012, 05:44
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Como puedo hacer una libreria en c++?

Al archivo que hiciste lo divides en tres . En uno queda la clase implementada, en el otro el main.
Luego creas un tercer archivo. El cual de de cabecera, es un .h
En este tienes que poner la definicion de la clase.
Luego agregas un include de ese archivo .h

Esto queda en el .h:

Código C++:
Ver original
  1. class Aritmetica
  2. {
  3.  
  4. private:
  5.  
  6. int result;
  7. public:
  8.  
  9. /*!
  10. * \ SUMA
  11. */
  12. int obtenerSuma (int a, int b);
  13. float obtenerSumaf1 (float a, float b);
  14. double obtenerSumad1 (double a, double b);
  15.  
  16.  
  17. /*!
  18. * \ RESTA
  19. */
  20. int obtenerResta (int a, int b);
  21. float obtenerRestaf1 (float a, float b);
  22. double obtenerRestad1 (double a, double b);
  23.  
  24. /*!
  25. * \ MULTIPLICACION
  26. */
  27.  
  28. int obtenerMult (int a,int b);
  29. float obtenerMultf1 (float a,float b);
  30. double obtenerMultd1 (double a,double b);
  31.  
  32. /*!
  33. * \ DIVISION
  34. */
  35.  
  36. int obtenerDiv (int a, int b);
  37. float obtenerDivf1 (float a, float b);
  38. double obtenerDivd1 (double a, double b);
  39. };

Etiquetas: funcion, libreria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:28.