Bueno depende, yo por dinámico entiendo listas (#include<list>), que no es lo mismo que arreglos que varían de tamaño (#include <vector>)
Pero independientemente de eso, puedes hacerlo con el operador new[] simplemente definiendo un constructor sin argumentos.
Código C++:
Ver original#include <stdio.h>
#include <vector>
#ifndef ARREGLO_H
#define ARREGLO_H
#include <string.h>
class Arreglo
{
private:
int *vector;
int tamano;
int cantidad;
char *nombre;
public:
Arreglo();
Arreglo(const char*, int);
int getPos(int);
int getCant();
int getTam();
char *getNombre(void){ return nombre ;}
void insertElement(int a);
~Arreglo();
};
#endif // ARREGLO_H
Arreglo::Arreglo(){
vector = NULL;
tamano = 0;
cantidad = 0;
nombre = NULL;
}
Arreglo::Arreglo(const char *unnombre, int n)
{
nombre
= new
char [strlen(unnombre
)+1]; tamano=n;
cantidad=0;
vector = new int[n];
for(int i=0; i<n; i++)
{
vector[i]=0;
}
}
int Arreglo::getCant()
{
return cantidad;
}
/*char Arreglo::getNombre(void)
{
return *nombre;
}*/
int Arreglo::getPos(int a)
{
return vector[a];
}
int Arreglo::getTam()
{
return tamano;
}
void Arreglo::insertElement(int dato)
{
if(tamano == cantidad)
{
throw "No queda espacio en el vector";
}
vector[cantidad] = dato;
cantidad++;
}
Arreglo::~Arreglo()
{
delete []vector;
}
int main(){
Arreglo *arreglo;
arreglo = new Arreglo[5];
return 0;
}