Dev - C++ - Ing. en Electronica

 
Vista:

Ing. en Electronica

Publicado por Omar (1 intervención) el 22/05/2010 03:06:39
Buen día, tengo el siguiente problema espero que me puedan ayudar.

Yo cree mi propia clase para manejar números complejos creando objetos llamada "cmpx", mi problema es a la hora de mezclar las cosas con la clase vector que ya viene incluida en todos los compiladores de C++. Lo que quiero hacer es declarar un vector como un objeto cmpx poder manejarlo como un vector de números complejos (sus partes real e imaginaria) y tener las ventajas de vector de no tener que mover todo el vector elemento por elemento sino simplemente por asignación (vector1=vector2). una parte de mi código es el siguiente:

--------ARCHIVO MAIN----------
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include "cmpx.h"

std::vector<cmpx> Xn;

int main()
{
Xn[0].asigRe(2);
}


-----------ARCHIVO DONDE IMPLEMENTO LAS INTERFACES LA CLASE----------------------

void cmpx::asigRe(double r)
{
Real=r;
}

Cuando realizo debug me da SIGSEGV error al momento de hacer la asignación "Real=r;", leei por allí que para asignarle valores a un vector debería hacerlo de la siguiente forma:

Xn.push_back(2);

pero en ese caso no puedo asignar una parte real y otra imaginaria con mi clase cmpx¿que puedo hacer?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ing. en Electronica

Publicado por Capitan Kirk (48 intervenciones) el 24/05/2010 08:18:05
Aunque no trabajo en C++, creo que ya existe una clase complex en C++. Compruébalo, debería haber un archivo complex.h en el subdirectorio include del directorio de instalación del compilador, si es así no tienes necesidad de reinventar la rueda.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar