Object-oriented programming c++ - KAIE8M03

Informations générales

  • Number of hours

    • Lectures 6.0
    • Projects -
    • Tutorials -
    • Internship -
    • Laboratory works 24.0
    • Written tests 2.0

    ECTS

    ECTS 0.6

Goal(s)

  • Understand the principles and concepts of Object-Oriented Programming (OOP).
  • Master OOP in the C++ language and C++ syntax.
    Specify, design and implement large-scale applications in C++.

Content(s)

1 OOP and C++ course: 14 hours (7 sessions of 2 hours)
1.1 Chapter 1: OOP concepts
This first chapter introduces the course by summarizing the content of the entire course.
1) Evolution from C to C++ and example of C++ source code
2) Object concept, inheritance and data abstraction
3) Object-oriented design methods, development environment
1.2 Chapter 2: C++ syntax: from C to C++
This first chapter introduces C++ syntax.
4) Comments, Inputs/outputs, Manipulators, Explicit conversions,
5) Variables, Constants, Compound types, Memory allocation
1.3 Chapter 3: C++ functions
6) Declaring functions, Passing by reference, Default parameter values, Inline function
7) Function overloading, Returning a reference
8) Using functions written in C, Header files for C and C++
1.4 Chapter 4: Classes and objects
9) Notion of class and instance of a class, Members of a class, Constructors and destructor, Pointers and self-reference
10) More on classes (Static members, Functions and friend classes, Functions and generic classes)
11) Complete example
1.5 Chapter 5: Operator overloading
12) Introduction, Overloading with a member function, Overloading with a global function
13) Assignment operator, ++ overloading, Conversion operators

1.6 Chapter 6: Inheritance and polymorphism
14) Inheritance, Behaviour of a derived class
15) Class hierarchy, Multiple inheritance
16) Polymorphism
17) A few details on inheritance and derivation modes
1.7 Chapter 7: I/O streams and classes
18) The ostream output stream and its methods, The istream input stream and its methods, Controlling the state of a stream, Associating an I/O stream with a file
19) Formatting information, Manipulators
2 Design Office (DO) OOP: 28 hours (7 sessions of 4 hours each)
2.1 DO-1
The aim of DO-1 is both to review the C course and to familiarise students with C++ syntax. This BE covers the following points: C++ syntax: handling complex structures, pointers, arrays, strings; using the I/O library; dynamic allocation; passing by reference.
2.2 BE-2
BE-2 covers the following points: Class definition; Encapsulation; Constructors and destructors; Initialization lists; Function overloading.
2.3 BE-3
BE-3 covers the following points: More elaborate manipulation of classes and objects, Static members, Copy constructors, Initialization lists.
2.4 BE-4
BE-4 covers the following points: Friendly functions, Over-definition of operators
2.5 BE-5
BE-5 covers the following topics: single inheritance, inheritance hierarchy, multiple inheritance, polymorphism, pure virtual function and abstract class
2.6 BE-6
BE-5 covers the following points: multiple inheritance, flows, genericity, etc.

Prerequisites

  • Programming methodology
  • C language

Calendar

The course exists in the following branches:

  • Curriculum - IESE - Semester 8

Additional Information

Course ID : KAIE8M03
Course language(s): FR

You can find this course among all other courses.

Bibliography

3.1 Livres et Ouvrages, Polycopies
? The C++ Programming Language, (2nd edition), Bjarne STROUSTRUP, Addison Wesley, 1991 (traduit en français chez Addison Wesley)
? The Annoted C++ Reference Manual (ANSI Base Document), Margaret A., ELLIS, Bjarne STROUSTRUP, Addison Wesley, 1994.
3.2 Documents électroniques
http://tima.imag.fr/~zergaino/enseignement/cours/poo.html
http://tima.imag.fr/~zergaino/enseignement/cours/cpp.html

3.1 Livres et Ouvrages, Polycopies
? The C++ Programming Language, (2nd edition), Bjarne STROUSTRUP, Addison Wesley, 1991 (traduit en français chez Addison Wesley)
? The Annoted C++ Reference Manual (ANSI Base Document), Margaret A., ELLIS, Bjarne STROUSTRUP, Addison Wesley, 1994.
3.2 Documents électroniques
http://tima.imag.fr/~zergaino/enseignement/cours/poo.html
http://tima.imag.fr/~zergaino/enseignement/cours/cpp.html