Red de conocimiento informático - Conocimiento del nombre de dominio - Necesitamos urgentemente el código fuente de un gran programa en C (cuanto más código, mejor), con comentarios: se requiere un proceso

Necesitamos urgentemente el código fuente de un gran programa en C (cuanto más código, mejor), con comentarios: se requiere un proceso

Archivo de encabezado 1: #include "IntContainer.h" templatelt; class Tgt;

IntContainerlt;Tgt;::IntContainer(int size)

{

aumentarTamaño = tamaño;

cantidad=increaseSize;

recuento=0;

almacenamiento = nuevo T[cantidad]; ; "Constructor"lt;lt.storagelt;lt;endl;

}templatelt;class Tgt;

void IntContainerlt;Tgt;::add(elemento T)

{

if (countgt; = cantidad)

incremento();

almacenamiento[count] = elemento;

count;

}templatelt; class Tgt;

T IntContainer::fetch(int index) const

{

if (indexgt ;=0amp;amp;indexlt;count)

devolver almacenamiento[index];

else

devolver -1;

}

templatelt; clase Tgt;

void IntContainerlt;Tgt;::increase()

{

cantidad = aumentarTamaño;

p>

T * nuevoAlmacenamiento = nuevo T [cantidad];

for(int i=0; ilt; count; i)

nuevoAlmacenamiento[i ]=almacenamiento[i ];

eliminar[] almacenamiento

almacenamiento = nuevoAlmacenamiento

}

clase Tgt;

IntContainerlt;Tgt;::~IntContainer()

{

coutlt;lt; "Eliminar destructor de almacenamiento"lt;lt;storagelt;lt;endl ;

eliminar[] almacenamiento;

}

Archivo de encabezado 2: #ifndef INTCONTAINER

#define INTCONTAINER

# incluir lt ;iostreamgt;

usando el espacio de nombres std;templatelt;class Tgt;

clase IntContainer

{

privado:

T * almacenamiento;

int recuento

int qu;

antity;

int aumentarTamaño; //IntContainer(IntContainer amp; tmp); public:

IntContainer(int size=100);

~IntContainer() ; void add(T elemento);

T fetch(int index) const

int getCount() const {return count;} iterador de clase

{

privado:

IntContainer* c;

int posición;

público:

iterador(IntContainer * contenedor, bandera bool): c(contenedor)

{

if (flag == true) position = 0

if (flag == false) posición = contenedor-gt; getCount();

}

bool operador==(iterador amperio; derecha)

{

return this-gt;position == right.position;

}

operador bool!=(iterador amp; derecha)

{

devolver esta-gt;posición! = posición.derecha;

}

iterador amp; operador ()

{

posición ;

return *this;

}

operador iterador (int)

{

iterador tmp = *this;

posición;

retorno tmp;

}

int operador*()

{

retorno c-gt; buscar(posición);

}

}; iterador comenzar(){return iterador(esto, verdadero);}

final del iterador( ){return iterator(this, false);}

privado:

aumento vacío();

}; class Tgt;

IntContainerlt;Tgt;::IntContainer(int tamaño)

{

aumentarTamaño = tamaño;

cantidad=incrementarTamaño;

recuento=0;

almacenamiento = nuevo T[cantidad];

coutlt;lt;

Constructor" lt;lt;storagelt;lt;endl;

}templatelt;class Tgt;

void IntContainerlt;Tgt;::add(elemento T)

{

if (countgt )

aumentar();

almacenamiento[count] = elemento;

count;

}templatelt; class Tgt;

T IntContainerlt; Tgt gt;::fetch(int index) const

{

if (indexgt; =0amp;amp;indexlt;count)

devolver almacenamiento[índice];

else

devolver -1;

}

templatelt; clase Tgt;

void IntContainerlt;::increase()

{

cantidad = aumentarTamaño;

T * nuevoAlmacenamiento = nuevo T [cantidad];

for(int i=0; ilt; count; i)

nuevoAlmacenamiento[i]=almacenamiento[i] ;

eliminar[] almacenamiento;

almacenamiento = newStorage;

}

templatelt; clase Tgt;

IntContainerlt;Tgt;::~IntContainer()

{

coutlt;lt;"Eliminar destructor de almacenamiento"lt;lt;storagelt;lt;endl;

eliminar[] almacenamiento

}

#endifmain function #include "IntContainer.

#include lt;vectorgt;

#include lt;iostreamgt;

#include lt;numericgt;

#include lt;functionalgt;

usando el espacio de nombres std;int multiplicar(int x, int y){return x*y;}templatelt;class Tgt;

clase multiplicarClase

{

público:

operador T( )(T x, T y){return x*y;}

}; void main()

{

IntContainerlt; /p>

ic.add(1);

ic.add(2).IntContainerlt; intgt;: iterador primero = ic.begin(); i

ntgt;::iterator end = ic.end(); for( ; primero != final; primero )

coutlt;lt;*firstlt;lt;endl;

vectorlt; intgt; vec;

vec.push_back(1);

vec.push_back(2);

para (vectorlt; intgt; ::iterador tmp = vec.begin();

tmp ! = vec.end();

tmp )

{

coutlt;lt; *tmplt;lt;endl;

} coutlt;lt;"______________"lt;lt;endl;

coutlt;lt;acumular(vec.begin(), vec.end (), 1, multiplica lt; ()) lt; endl; double doubleArray[]={12, 13.4, 34, 5, 6.6}; ; doubleArray[0], & doubleArray[5], 1, multiplicaslt; doublet ())lt; ], amp; doubleArray[5], dArray.begin(), minuslt; doublet ());

for(vectorlt; doublet. :: iterador primero = dArray.begin();

p>

primero ! = dArray.end(); primero )

coutlt;lt;*firstlt;lt;endl;

}