| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
juanse003
Registrado: 22 Ago 2007 Mensajes: 6 Ubicación: Extremadura, ESPAÑA
| Publicado: 26/08/2007 6:01 pm | | | Título: ¿Los .h de c++ son exportables a c? |
| Hola, estoy empezando a aprender, y soy consciente de que la diferencia de c a c++ es que el segundo está orientado a objetos, pero esto en la realidad, ¿Qué significa?. Por lo que sé, al menos en c++, se puede crear un archivo cabecera .h, y hacer este dependiente del cpp con un mismo nombre común, es esto posible en c?¿Qué diferencia hay entre main c y c#, es lo mismo?
En teoría sé que la herencia, el poliformismo y etc si son características básicas de c++, que no de c.
Gracias. _________________ No parar hasta conquistar |
| | Volver arriba | |  | mamntc02
Registrado: 30 Abr 2007 Mensajes: 242
| Publicado: 27/08/2007 1:53 am | | | Título: |
| Hola, Como tú bien dices una de las diferencias entre C y C++ , es q el segundo admite programación orientada a objetos, y en cambio C, es un lenguaje estructurado. No obstante hay más diferencias, como el uso de plantillas, tratamiento de excepciones, referencias, y otras modificaciones menores, como son el uso de comentarios, funciones inline, etc.... No obstante, la estructura básica del lenguaje es la misma, si nos referimos, al uso de librerías (.LIB) y cabeceras (.h). Entre el main de C y el de C++ no hay ninguna diferencia, en cuanto a C# no te puedo contestar pq jamás he programado en ese lenguaje, pero no creo q haya muchas diferencias.
Saludos. |
| | Volver arriba | |  | juanse003
Registrado: 22 Ago 2007 Mensajes: 6 Ubicación: Extremadura, ESPAÑA
| Publicado: 27/08/2007 12:41 pm | | | Título: |
| Hola de nuevo. Ya me queda clara la duda principal, que era la posibilidad del uso de cabeceras y archivos multiples enlazados en c, pero tengo otra duda, cuando decimos que esá orientado a objetos..¿Qué objetos son esos, algun tipo de archivos q no pueda usarse en c? _________________ No parar hasta conquistar |
| | Volver arriba | |  | | mamntc02
Registrado: 30 Abr 2007 Mensajes: 242
| Publicado: 28/08/2007 2:48 am | | | Título: |
| Hola,
La pregunta de qué es un objeto es demasiado extensa como para aclararla aquí. Te recomiendo q te busques algún buen libro o manual de programación orientada a objetos. Intentaré darte una pequeña explicación, pero si te interesa necesitarás algún libro, manual o tutorial. Un objecto no es más q un conjunto de datos y algoritmos q manejan dichos datos. Y una clase es una patrón para construir objetos. Por ejemplo, imagina q quieres crear una estructura para q te maneje fechas a tu gusto. Primero hay q declarar y definir la clase, para saber el patrón con el q se construirán los objetos de este tipo:
| Código: | //Declaración de la clase class myFecha{ private: int dia, mes, anyo; public: void setDia(int day); int getDia(); void setMes(int month); int getMes(); void setAnyo(int year); int getanyo(); };
//Contructores myFecha::myFecha(int dia, int mes, int anyo){ this.dia = dia; this.mes = mes; this.anyo = anyo; }
myFecha:.myFecha(){ myFecha(0,0,0); }
//Definición de las funciones de la clase myFecha::setDia(int day){ dia = day; }
int myFecha::getDia(){ return day; }
myFecha::setmes(int month){ mes = month; }
int myFecha::getmes(){ return mes; }
myFecha::setDia(int year){ anyo = year; }
int myFecha::getAnyo(){ return anyo; } |
Hasta aquí hemos conseguido un patrón para hacer fechas, q tiene día, mes y año, y permite asignar y recuperar cada dato. Ahora si queremos tener un objeto del tipo fecha para poder trabajar debemos crearlo:| Código: | //Creamos un objeto o instancia de la clase myFecha fecha1; |
Acabamos de crear un objecto fecha1 del tipo myFecha. Ahora podemos asignarle un dia, un año o un mes y recuperarlos:
| Código: | fecha1.setDia(3); //El dia vale 3 fecha.setMes(12); // El mes 12 int year = fecha.getAnyo(); // Recuperamos el año y lo guardamos en una variable |
En el caso del año como no le hemos asignado ningún valor tendremos 0, por culpa del constructor por defecto.
Si sabes algo de C (o de algun otro lenguaje) un objecto no es más q una estructura de datos, pero dotándole de una gestión de datos y procedimientos internos.
Este es un ejemplo muy básico y poco representativo de la programación orientada a objetos. Insisto en q te pilles un buen libro, y preguntes las dudas. Si no te quieres gastar pasta en un buen libro hay buenos manuales por la red, te pongo un par en castellano (en inglés los hay excelentes):
- C con Clase Está muy bien y tiene una sección de descargas donde te puedes bajar los manuales en PDF.
- Zator.com. Personalmente creo q es la mejor q he visto en castellano, pero tiene ciertos inconvenientes: No se puede descargar, por lo q hay q seguirla on-line. Aunque empieza de 0, tiene un nivel bastante elevado, debido a la profundidad q alcanza, no sólo del lenguaje en sí, sino de como se crean los ejecutables, procedimientos de E/S, etc.... Además no está demasiado bien ordenado, y puede liar al principiante. Quizá déjala para cuando tengas algo más de conocimientos, pero guárdala.
- Los manuales de la universidad de Navarra Es una muy buena colección de manuales para empezar. Ahora hay 3 manuales (uno de ANSI C, y dos de C++). Personalmente me gustaba más cuando había un manual de C y otro de C++, creo q estaba mejor organizado y estructurado, pero si lo han divido supongo q será por algo. Quizá te recomendaría q empezaras por estos.
Saludos. |
| | Volver arriba | |  | rir3760

Registrado: 01 Oct 2004 Mensajes: 3657 Ubicación: Mexico
| Publicado: 28/08/2007 7:04 am | | | Título: |
| Un libro en linea de una calidad aceptable pero en ingles es "Thinking in C++" de Bruce Eckel, un vinculo a su pagina principal se encuentra en la seccion "Cursos" de este sitio.
Un saludo _________________ The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz |
| | Volver arriba | |  | juanse003
Registrado: 22 Ago 2007 Mensajes: 6 Ubicación: Extremadura, ESPAÑA
| Publicado: 28/08/2007 1:20 pm | | | Título: |
| Hola, de nuevo, muchas gracias por estas respuestas tan detalladas, y esos enlaces tan útiles, no los conocía. Así da gusto aprender. Me queda ya bastante claro el consepto de objeto, mi interpretación es que el concepto "clase" y sus estructuras asociadas son vitales en este tema. Por lo pronto me he conseguido el libro thinking in c++ y he visitado e intentado recopilar info útil de los enlaces, gracias, de verdad. _________________ No parar hasta conquistar |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |