Explicación del código fuente de la lista
#Contiene? ltiostream gt
¿Usar? ¿Espacio de nombres? std
¿Clase? CMyList
{
Público:
¿Nombre del ltType de la plantilla? T gt
¿No es válido? ¿Retroceder(?t? ampt?)?
{
m_list.push_back(?(int?) ampt);
}
¿Nombre del tipo de plantilla? T gt
¿No es válido? pop_back(T?ampt)?
{
? T = *(T *)(m _ list . back());
}
Privado:
Lista ltint gt? m_list
};
¿Clase? A
{
Público:
a()? {
saluda();
}
¿No es válido? ¿Di hola()? {
¿cout? ¿Eh? "Oye, ¿qué te parece? ¿Yo? ¿Yo? ¿Uno"? ¿Eh? endl
}
Privado:
};
¿Clase? B
{
Público:
b()? {
saluda();
}
¿No es válido? ¿Di hola()? {
¿cout? ¿Eh? "¿Yo? ¿Yo? B " lt ltendl
}
};
int? main(?int,?char**?)?
{
CMyList? mi lista
¿Respuesta? a;
b? b;
mylist.push_back(?respuesta?);
mylist.push_back(?b?);
b? bb;
mi lista. pop_back(bb);
bb. saludar();
¿Respuesta? aa;
mylist.pop_back(?aa?);
aa. saludar();
Sistema(? "pausa"?);
¿Volver? 0;
Me tomó unos minutos escribir una clase general CMyList simple, que se puede modificar sobre esta base. Teóricamente se puede acomodar cualquier clase. ¡Soporta todas las plataformas C! Tenga en cuenta que debe acceder en el orden correcto; de lo contrario, se bloqueará. Si está interesado, puede echar un vistazo a la implementación de tupla, que puede almacenar cualquier tipo de datos y tiene seguridad de tipos.