/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

¿Los .h de c++ son exportables a c?

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
juanse003



Registrado: 22 Ago 2007
Mensajes: 6
Ubicación: Extremadura, ESPAÑA

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com