[eside-ghost] Matriz de Structs c++

Iker Perez de Albeniz - Txupete - txupete en gmail.com
Jue Jun 14 12:43:19 CEST 2007


ya creo ke la ultima duda...

he creado una clase que se llema MacSessions

el Macsessions.h
******************
#ifndef MACSESSIONS_
#define MACSESSIONS_

#include <stdlib.h>
#include <time.h>

#include <multinetdb/DbFactory.h>

#include <multinetdb/MacDB.h>
#include <multinetdb/Mac.h>

#include <multinetdb/SessionDB.h>
#include <multinetdb/Session.h>



using namespace database;
using namespace std;

class MacSessions
{
private:

public:

int Video;
int Audio;
int Mail;
int Internet;	

MacSessions();
void getSessions(std::string);

	
};

#endif /*MACSESSIONS_*/


el MacSessions.cpp
***********************
#include "MacSessions.h"

MacSessions::MacSessions(){

}

void MacSessions::getSessions(std::string mac)
{
	//Get a pointer to the DbFactory object
	DbFactory * dbfactory = DbFactory::getInstance();
	
	//GET de DAO object to de T_Session table
	MacDB * macDb = dbfactory->getMacDB();
	
	int contVideo = 0;
	int contAudio = 0;
	int contMail = 0;
	int contInte = 0;
	
	
	try
    {
	
	    //SELECT all the sessions from the mac in STL vector
		vector<Session> * sessions = macDb->getSession(mac);	
		
		//print the name of the users
		vector<Session>::iterator It = sessions->begin();
	    while ( It != sessions->end() )
	    {
	    	Session a = (Session)(*It);
			switch(a.type)
			{
			case 1: contVideo++;
			break;
			case 2: contAudio++;
			break;
			case 3: contMail++;
			break;
			default: contInte++;
			break;
			}
			
			It++;
	    }
    }
    catch (const mysqlpp::BadQuery& er)
	{
		cout << "Exception: " << er.what() << endl;
	}	
	
	Video = contVideo;
	Audio = contAudio;
	Mail = contMail;
	Internet = contInte;
}

y el main.cpp dond euso la clase MacSessions:
*************************************************
#include "MacSessions.h"

int main(){

	MacSessions mac1;
	std::string macdemo = "00000-0000";
	mac1.getSessions(macdemo);
	cout << mac1.Video;	
		
}


me da los siguientes errores al compilar con el eclipse..

main.cpp: undefined reference to
`MacSessions::getSessions(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >)'

main.cpp: undefined reference to `MacSessions::MacSessions()'


alguien me puede decir que hago mal en la construccion de las clases??

El 13/06/07, Jon Ander Ortiz <jonbaine en gmail.com> escribió:
> Buenas:
>
> El algoritmo del rand necesita una semilla aleatoria para funcionar, si no
> llamas antes a alguna función que inicialice la semilla, pos siempre dará el
> mismo número.
> Cuando ya pones la semilla aleatoria, el rand generará una secuencia de
> números pseudoaleatorios. Hay que tener en cuenta que para la misma semilla
> siempre genera la misma secuencia, por eso se utilizan valores del timer
> como semilla.
>
> http://www.cplusplus.com/reference/clibrary/cstdlib/rand.html
>
> ahi sale lo que necesitas, además quédate con la página porque sale bastante
> funciones del C++ documentadas.
>
> Un saludete:
> Jonan
>
>
> El día 13/06/07, Iker Perez de Albeniz - Txupete - <txupete en gmail.com>
> escribió:
> > Bueno ahora tengo otra dudilla.. estoy intentando generar un valor
> > aleatorio entre 0 y 50
> >
> > mirando en google aparece la funcion:
> >
> > rand() % 50 +1
> >
> >
> > pero me genera un numero aleatorio mayor de 50 y ademas siempre el
> mismo...
> >
> >
> > si alguien me puede decir como generar el numero aleatorio y que
> > librerias incluir...
> >
> >
> > gracias.
> >
> > El 12/06/07, albertito <atetinho en gmail.com> escribió:
> > > Alfredo Beaumont escribió:
> > > > Ar, 2007eko Ekaren 12a(e)an, albertito(e)k idatzi zuen:
> > > >
> > > >> totalmente de acuerdo, pero como está trabajando en C++... De todos
> > > >> modos, Stroustrup recomienda el uso de clases frente a structs :). y
> ya
> > > >> que nos ponemos... XD, que si el acceso a los datos se realiza a
> través
> > > >> de funciones miembro, que la inicialización queda centralizada en un
> > > >> único punto (por lo tanto, único punto de fallo), etc... :P
> > > >>
> > > >
> > > > Precisamente porque estamos hablando de C++, todas esas cosas se
> pueden
> > > > obtener con las estructuras también, tienen constructores, funciones
> miembro,
> > > > etc. La única diferencia entre una estructura y una clase en C++ es
> que las
> > > > estructuras el acceso por defecto es public y en las clases es
> private.
> > > >
> > > >
> > > ya, ya; pero por eso mismo decía lo anterior: "Stroustrup recomienda el
> > > uso de clases frente a structs". he puesto la frase para evitar
> > > polémicas o porque igual no me había expresado bien anteriormente.
> > > además, parece que estamos discutiendo el uso de clases frente a
> > > estructuras, y no es la intención (por lo menos, la mía).
> > > > Saludos
> > > >
> > > un saludo!! ;)
> > >
> > > --
> > > albertito
> > > Blog Personal: http://www.ifelsedeveloper.blogia.com
> > > Página Personal: http://atetinho.googlepages.com/home
> > > C.A.S: http://www.ajedrezsanturtzi.com
> > >
> > > IMPORTANTE:
> > > Por favor, si me mandas correos con copia a varias personas, pon mi
> dirección de correo en copia oculta (CCO), para evitar que acabe en montones
> de sitios, eliminando mi privacidad, favoreciendo la propagación de virus y
> la proliferación del SPAM.
> > >
> > > _______________________________________________
> > > eside-ghost mailing list
> > > eside-ghost en deusto.es
> > > https://listas.deusto.es/mailman/listinfo/eside-ghost
> > >
> > _______________________________________________
> > eside-ghost mailing list
> > eside-ghost en deusto.es
> > https://listas.deusto.es/mailman/listinfo/eside-ghost
> >
>
>
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost
>


Más información sobre la lista de distribución eside-ghost