




























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Si quieres aprender el lenguaje de programación orientada a objetos en c++ este libre detalla, lo que es, para que sirve, y como usarlo.
Typology: Study Guides, Projects, Research
1 / 378
This page cannot be seen from the preview
Don't miss anything!





























































































UPM-ETSIDI-2020. Miguel Hernando.
"El único modo de hacer un gran trabajo es amar lo que haces. Si no lo has encontrado todavía, sigue buscando…No te acomodes. Como con todo lo que es propio del corazón,lo sabrás cuando lo encuentres."
Steve Jobs.
Copyright Esta obra está© 2020. licenciada Miguel bajo Hernando la licencia Creative Commons Atribución http://creativecommons.org/licenses/by‐NoComercial‐SinDerivadas 3.0‐ (^) ncUnported‐nd/3.0/deed.es (CC BY‐NC o ‐envíeND 3.0). una Para carta ver a Creativeuna copia Commons, de esta licencia, 444 Castro visite Street, Suite 900, Mountain Todas las opinionesView, California, aquí expresadas 94041, EE.UU. son del autor, y no reflejan necesariamente las opiniones de la Universidad Politécnica de Madrid.
UPM-ETSIDI-2020. Miguel Hernando.
La asignatura de informática Industrial y comunicaciones se compone de dos partes algo diferenciadas como el propio nombre de la asignatura indica. Por un lado se pretende que el estudiante de esta asignatura comience a programar según una filosofía de programación orientada a objetos (POO), para lo cual se ha escogido el paradigma de este tipo de lenguajes que es C++. Por otro, se pretende informar y formar al estudiante en la programación específica de sistemas de comunicación, para lo cual es necesario introducir conceptos relativos a los sistemas distribuidos y las redes. Estos apuntes pretenden de forma docente exponer el lenguaje de programación C++ pero centrándose especialmente en los mecanismos que este dispone para abordar la programación orientada a objetos. De esta forma, aunque se explican muchas de las posibilidades adicionales del lenguaje, se centran en explicar con detalle el modo con el que C++ pone a nuestra disposición el encapsulamiento, la herencia y el polimorfismo. Por este motivo, aspectos como las excepciones o las plantillas son explicados al final de la parte relativa a la exposición de la sintaxis del lenguaje y en menor detalle, siendo para la asignatura un objetivo secundario.
UPM-ETSIDI-2020. Miguel Hernando.
UPM-ETSIDI-2020. Miguel Hernando.
UPM-ETSIDI-2020. Miguel Hernando.
Departamento de Electrónica Automática e Informática Industrial
Para poder comprender correctamente estos apuntes de programación en C++, se considera que el lector ya tiene unos conocimientos previos del lenguaje C. A la hora de diseñar el temario de las asignaturas de informática de la Escuela Técnica de Ingenieros Industriales, se planteó como objetivo principal el que el alumno fuera capaz de programar en cualquier lenguaje al finalizar los estudios. Para ello era necesario seleccionar un lenguaje modelo que permitiera plantear los distintos inconvenientes y técnicas que se dan en la programación. Por este motivo se seleccionó el lenguaje C en las asignaturas de primer año como paradigma de lenguaje procedural y como sistema de acercamiento al modo de funcionamiento de un ordenador, y C++ como el lenguaje más representativo de la programación orientada a objetos (POO). Es importante considerar que el Ingeniero Industrial Electrónico, tiene una clara orientación al dispositivo físico, de ahí que los lenguajes que mantienen la cercanía a los elementos constitutivos del ordenador sean más relevantes para su formación, que otros que aun dando una funcionalidad mayor, se han alejado del contacto directo con el Hardware o el sistema operativo. C a menudo es considerado un lenguaje de medio nivel por esta característica.
UPM-ETSIDI-2020. Miguel Hernando.
Sin embargo, es importante reflejar el hecho de que esta asignatura, Informática Industrial, ha sido dividida a su vez en dos partes: una centrada en el proceso de diseño o ingeniería del software, y otra con el enfoque esencialmente práctico de aprender un lenguaje con filosofía de POO como es el caso de C++. Como se verá a continuación, el proceso de desarrollo de un programa en un lenguaje fuertemente dependiente de la estructura como es el caso de C++, requiere de un proceso de análisis y de diseño teórico previo mucho más importante que en la programación procedural. La programación orientada a objetos es una de las más modernas técnicas de programación buscando como principal objetivo la reducción del tiempo de desarrollo aumentando la eficiencia del proceso de generación de los programas. Como consecuencia, si el diseño previo es correcto, en la POO los programas tienen menos líneas de código escritas por el programador, menos bifurcaciones, y sobre todo la facilidad de introducir elementos de programas previos o escritos por otras personas, así como su actualización. Sin embargo, para lograr estos resultados es necesario un esfuerzo del programador en las fases anteriores a la escritura del programa propiamente dicho. Si así no fuera, los resultados pueden ser francamente decepcionantes. Así, para no llevar a engaño, y con la idea de amenizar ligeramente unos apuntes que de por sí prometen ser densos, se incluye a continuación una entrevista ‐ficticia‐ que durante un tiempo circuló por los foros de programación:
Entrevista al padre del C++ de El 1 de Enero de 1998, Bjarne Stroustrup, padre del lenguaje C++, dio una entrevista a la revistainformática del IEEE. Naturalmente, los editores pensaron que estaba dando una visión retrospectiva de los siete años de diseño orientado a objetos, usando el lenguaje que él mismo habíacreado.
consecuentemente, el editor decidió suprimir los contenidos 'por el bien de la industria'. Pero comoAl finalizar la entrevista, el entrevistador consiguió más de lo que había pactado en un principio, y suele suceder, la información se filtró... Aquí está una completa transcripción de lo que se dijo, noeditado, no ensayado, es decir que no es como las entrevistas planeadas... Lo encontraréis interesante... mirando atrás?^ Int:^ Bien, hace unos pocos años que cambió el mundo del diseño de software, ¿cómo se siente recuerdas? Todo el mundo escribía en C y el problema era que eran demasiado buenos... Las^ BS:^ En este momento estaba pensando en aquella época, justo antes de que llegase. ¿La Universidades eran demasiado buenas enseñándolo también. Se estaban graduando programadorescompetentes a una velocidad de vértigo. Esa era la causa del problema. Int: ¿Problema? BS: Sí, problema. ¿Recuerdas cuando todos programaban en Cobol? Int: Desde luego. Yo también lo hice.