Preguntas de programación escritas a mano
Usar espacio de nombres std
Clase IntCollection{
Público:
typedef struct _IntNode{
int iNode
_ IntNode * pNext
}IntNode, * PIntNode
IntCollection()
{
primero .pnext = 0;
pEnd = & amp primero
}
~IntCollection()
{
PINtNode pNode = 0;
for(pNode = primero . pnext; pNode!=0;)
{
pEnd = pNode -& gt;pNext
Eliminar pNode
pNode = pEnd
}
}
IntCollection (Constante IntCollection & ampc)
{
primero . pnext = 0;
pEnd = & amp primero
PIntNode pNode = 0;
for(pNodo = c . primero . pnext;pNodo!=0;pNodo = pNodo->pNext)
Append(pNodo->iNodo) ;
}
bool AddInt(int nodo)
{
PIntNode pNode = nuevo IntNode
if (pNode == NULL )
Devuelve falso
pNode->pNext = 0;
pNode->iNode = nodo;
pEnd-& gt;pNext = pNode
pEnd = pNode
Devuelve verdadero
}
IntCollection & ampoperator = (const int collection &c )
{
PIntNode pNode = 0;
for(pNode = primero . pnext; pNode! =0;)
{
pEnd = pNode-& gt;pNext
Eliminar pNode
pNode = pEnd
}
primero . pnext = 0;
pEnd = & amp primero
for(pNode = c . primero . pnext; pNode! = 0;pNode = pNode->pNext)
Agregar (pNode->iNode);
Devolver (* esto);
}
Operador IntCollection + (const int collection & c)
{
IntCollection ic
PIntNode pNode = 0;
for(pNodo = primero . pnext; pNodo! = 0; pNodo = pNodo-& gt; pNext)
ic.
append(pNodo->iNodo);
for(pNodo = c . primero . pnext; pNodo ! = 0; pNodo = pNodo->pNext)
ic. Append(pNode->iNode);
Return IC;
}
Operador IntCollection *(const int collection &c)
p >{
IntCollection ic
PIntNode pNode =0, pNode 1 = 0;
for(pNode = primero . pnext; pNode!= 0 ;pNodo = pNodo-& gt;pNext)
{
for(pnodo 1 = c . primero . pnext;pNodo1!=0;pnodo 1 = pnodo 1->; pNext )
{
if(pNodo-& gt;iNodo == pnodo 1->;Nodo de información)
Rotura;
}
if(pNodo1!= 0)
ic. append(pNode->iNode);
}
Devolver IC;
}
Privado:
IntNode tiene prioridad;
PIntNode pEnd
};
Administrador no válido (no válido)
{
int colección c 1;
IntCollection c2
IntCollection c3
IntCollection c4
c1. AddInt(1);
c1. Aditivo(2);
c2. Aditivo (2);
C3 = c 1+C2+C2
C4 = c 1 * C2
int tttt
CIN>& gttttt
}