Bueno, como dice el titulo del post, busco algun libro/paper de C orientado a lo que se puede llamar "objetos" en dicho lenguaje.
Lo que busco es ampliar mis conocimientos en C, ya que se todo lo básico, ya quiero ir mentiendome en sockets y demás. Si saben el nombre de algún libro que me pueda servir o links dónde conseguir este, papers demás, me ayudan mucho.
Gracias.
C no tiene "objetos", justo esta es la diferencia principal entre C y C++ (y razon por la que C++ nace) lo más cercano son los struct
Exactamente a eso me refería con "orientado a lo que se puede llamar objetos".
El fin de la publicacion es buscar un documento para leer que amplíe mis conocimientos en C, si no es con objetos que sea con sockets o alguna otra cosa.
Sé lo básico y quiero seguir aprendiendo, pero no sé para dónde apuntar. Qué me recomendas?
Mi idea era trabajar con structs simulando objetos, capaz había algo de eso para empezar a entenderlo, ya que no quiero arrancar C++ hasta que domine bien C.
Cita de: n-utz en 8 Noviembre 2016, 19:35 PM
Mi idea era trabajar con structs simulando objetos, capaz había algo de eso para empezar a entenderlo, ya que no quiero arrancar C++ hasta que domine bien C.
Si vas a aprender C++, lo mejor es que aprendas POO con C++. Hacer estructuras en C es simple, no tiene más ciencia. Trabajar con ellas, ya según el nivel de cada uno.
Sockets los puedes ver de igual forma tanto en C como en C++, no es un componente del lenguaje como tal.
En fin, te recomiendo pasar a C++ cuanto antes. No hay nada que tenga C que pueda envidiar C++. Y en cuanto a aprenderlo, no es mucho más difícil. Evidentemente, las clases de C++, cmo de cualquier otro lenguaje de POO, tienen muchos conceptos
nuevos. Y precisamente por eso, cuanto antes se empiece, mejor.
Object-oriented Programming in C (https://www.cs.rit.edu/~ats/books/ooc.pdf), dependiendo de lo que consideres por un nivel "básico" habrán cosas que no entiendas, igual te conviene mas profundizar en otras areas o empezar por cosas mas "básicas", ej algo parecido a un método:
struct foo{
int (*metodo)(int, int);
};
int suma(int a, int b){
return a+b;
}
int main()
{
int (*p)(int, int) = suma;
struct foo bar;
bar.metodo = suma;
int i = bar.metodo(5,5);
printf ("i: %u\n", i);
return 0;
}