Vectores dinámicos en C++

Josepanaero

Buenas! A ver si alguien me puede echar una mano.

Tengo una clase, llamémosla Prueba, cuyo constructor contiene un único parámetro, por ejemplo así:

Prueba(int x)

Entonces yo quiero hacerme un vector dinámico de n Pruebas, todas con el parámetro x = 3. Cómo leches se hace eso? XD

Si la clase Prueba tuviese un constructor sin parámetros, se haría así:

Prueba *vector;

vector = new Prueba[tamanoVector];

Pero el problema viene dado pq a Prueba hay q añadirle un parámetro, entonces ya no sé cómo hacer esto de forma elegante. A unas malas, siempre puedo ir creando uno por uno todos los Prueba q quiera, y q cada posición del vector apunte a cada uno de ellos, pero imagino q habrá una forma más sencilla de hacer esto.

Salu2!!

JuAn4k4

vector {
*celda
}

Celda {
elemento;
*celda }

vector tiene un puntero al primero de la lista, y cada elemento su puntero al siguiente.

Aunque ya no es un vector. xD

dagavi

Estando en C++, ¿porque no usas la calse vector?

De esa forma he probado a realizar lo que comentas y no tiene mayor dificultad que hacer

vector<Prueba> v(TAMAÑO, inicializador)

Teniendo el método:

Prueba (int x) {}

elkaoD

EDIT: No ha pasado nada aquí :P

Josepanaero

#3 es q la cosa es q lo quería para una práctica de la facultad en la q es muy conveniente q sea rápido y eficiente, por eso no quiero usar la STL.

YiTaN

No se me ocurre ninguna solución formal, pero quizás te interese en tu caso particular crear un constructor por omisión que establezca x (el parámetro) a 3 cuando no espeficiques valor alguno?

Es una solución un poco 'rana' porque sólo te sirve para si quieres hacerlo con el valor 3, pero bueno... quizás siempre lo quieras en 3 y te pueda servir :P

Saludos ;)

Josepanaero

YiTaN sí, tienes razón, es una buena solución, la estaba barajando tb, pero es q es bastante liosa, pq aunq solamente tenga un parámetro el constructor, de dicho parámetro dependen un montón de vectores, matrices y demás variables y por eso buscaba a ver si había una solución más formal antes de liarme yo a hacer esto por mi cuenta.

Usuarios habituales

  • Josepanaero
  • YiTaN
  • elkaoD
  • dagavi
  • JuAn4k4