Vous êtes sur la page 1sur 3

Miscellanous

EE6411/ED5021 • Labs: Labs provisionally scheduled for Tuesdays,


Object Oriented Programming 16:00h-18:00h, B2005 (to be confirmed)
with C++ • Lecture Notes: PDF version of slides are
available on Web-Page
Dr. Reiner Dojen
• Webpage: http://www.ecestudents.ul.ie
Email: reiner.dojen@ul.ie => Master of Engineering Course Notes
Phone: 061-213442 (Ext. 3442) => EE6411 – C++ Programming
Room: D3002 • Bugs/Typos: Please report any bugs/typos to
reiner.dojen@ul.ie to maintain a correct version of
these lecture notes.
EE6411/ED5021: Object Oriented Programming with C++ 1 EE6411/ED5021: Object Oriented Programming with C++ 2

Marking Textbooks
• Eckel, B., "Thinking C++", 2nd ed., Prentice Hall,
2000. Online version available at modules webpage
• Marking Scheme:
• Schildt, H., "C++ from Ground Up", 2nd ed., Osborne
– Project: 40%, McGraw-Hill, 1998
– Final Exam: 60%. • Savitch, W., "Problem Solving with C++ - The Object
• Min. Exam Results: of Programming", 4th ed., Addison-Wesley, 2003
– D: 25% • Johnsonbaugh, R., M. Kalin, "Object-Oriented
– C: 35% Programming in C++", 2nd. ed., Prentice-Hall, 2000.
• Repeat Exam: Project also counts for Repeat • Stroustrup, B., "The C++ Programming Language",
3rd. ed., Addison-Wesley, 1997.
Exams, students sitting the repeat exam should
• Ammeraal, L., "C++ for Programmers", 3rd. ed.,
contact me as soon as possible, if they want to Wiley, 2000.
repeat the project as well.
• Pohl, I., "C++ Distilled", Addison-Wesley, 1997.
EE6411/ED5021: Object Oriented Programming with C++ 3 EE6411/ED5021: Object Oriented Programming with C++ 4

Basic Programming/C++ Concepts

• Built-In Types, Variables & Constants


• Console I/O
Overview of Module • The C++ Process of Compilation
• Statements & Control Structures
• Operators
• Declaration vs. Definition
• Functions
• Systematic Function Construction

EE6411/ED5021: Object Oriented Programming with C++ 5 EE6411/ED5021: Object Oriented Programming with C++ 6

1
Objects – Basic Components of OOP References & Pointers in C++
• The Progress of Abstraction
• Reference Types
• Everything is an Object!
• Pointer
• Encapsulation:
– Interface of an Object • Pass-by-Value & Pass-by-Reference
– Hidden Implementation • Arrays of Objects
• Object File Structure • Arrays and Pointers
• Hiding the Implementation: C++ access control • Dynamic Object Allocation using new and delete
• Object Initialisation & Cleanup • Dynamic Arrays
• Namespaces: Controlling the scope of Objects
• Abstract Data Types
EE6411/ED5021: Object Oriented Programming with C++ 7 EE6411/ED5021: Object Oriented Programming with C++ 8

Re-using Objects: Composition,


Programming Project
Inheritance & Polymorphism
• Composition: Combining Objects
• Inheritance: Deriving from existing Objects
• Inheritance by Extension
• Inheritance by Re-definition
• Choosing Composition vs Inheritance
• Multiple Inheritance
• Function Call Binding: Static & Dynamic Binding
• Virtual Functions
• Abstract Classes and Pure Virtual Functions
EE6411/ED5021: Object Oriented Programming with C++ 9 EE6411/ED5021: Object Oriented Programming with C++ 10

Re-Defining Operators Introduction to Templates

• Rules for Operator Overloading • Templates for Algorithmic Abstraction


• Guidelines for Operator Overloading • Templates for Data Abstraction
• Overloading Operators • Standard C++ Library and the STL
• The pointer this • Containers
• Non-Member Operators & Friend Operators
• Stacks and Queues
• Overloading the Assignment Operator
• Linked Lists
• Overloading the Increment/Decrement Operator
• Overloading Subscript Operator • Trees
• Overloading Function Call Operator
EE6411/ED5021: Object Oriented Programming with C++ 11 EE6411/ED5021: Object Oriented Programming with C++ 12

2
Exception Handling: Dealing with Errors

• Traditional Error Handling


• Throwing an Exception
• Catching an Exception
• Cleaning Up after an Exception
• Standard Exceptions
• Exception Specification
• Exception Safety
• Programming with Exceptions

EE6411/ED5021: Object Oriented Programming with C++ 13

Vous aimerez peut-être aussi