This tutorial is a collection of lectures to be held in the on-line course Introduction to Object-Oriented Programming Using C++. In this course, object-orientation is introduced as a new programming concept which should help you in developing high quality software. Object-orientation is also introduced as a concept which makes developing of projects easier. However, this is not a course for learning the C++ programming language. If you are interested in learning the language itself, you might want to go through other tutorials, such as C++: Annotations by Frank Brokken and Karel Kubat. In this tutorial only those language concepts that are needed to present coding examples are introduced.
And what makes object-orientation such a hot topic? To be honest, not everything that is sold under the term of object-orientation is really new. For example, there are programs written in procedural languages like Pascal or C which use object-oriented concepts. But there exist a few important features which these languages won't handle or won't handle very well, respectively.
Some people will say that object-orientation is ``modern''. When reading announcements of new products everything seems to be ``object-oriented''. ``Objects'' are everywhere. In this tutorial we will try to outline characteristics of object-orientation to allow you to judge those object-oriented products.
The tutorial is organized as follows. Chapter 2 presents a brief overview of procedural programming to refresh your knowledge in that area. Abstract data types are introduced in chapter 3 as a fundamental concept of object-orientation. After that we can start to define general terms and beginning to view the world as consisting of objects (chapter 4). Subsequent chapters present fundamental object-oriented concepts (chapters 5 and 6). Chapters 7 through 9 introduce C++ as an example of an object-oriented programming language which is in wide-spread use. Finally chapter 10 demonstrates how to apply object-oriented programming to a real example.