Course Overview: CSC2402 Module 1 Part 1 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Course Overview











We use the STL from the very start Module 2


Classes introduced in Module 3
Multiple source files and exceptions in Module 4
Class relationships, dynamic store in Module 5
Persistence (files) in Module 6
Class hierarchies in Module 7
Operator overloading in Module 8
Templates and design patterns in Module 9
More advanced use of the STL in Module 10

CSC2402 Module 1 Part 1

History of C++
 C++ invented by Bjarne Stroustrup early
1980s. Inspired by Simula67.
 First commercial release 1985 was a C
preprocessor.
 Now mostly native C++ compilers that directly
generate machine code.
 ISO Standard in 1998 so older books and
compilers will differ in major ways.
CSC2402 Module 1 Part 1

Assumed Knowledge of C





Types, declarations, type bool


Pointers, arrays and structures
C expressions, operators, statements
Functions, except:





Reference arguments
Overloaded names
Default arguments
Pointers to functions

CSC2402 Module 1 Part 1

Why OO Development?
 Improved structure of software easier to:
 Understand
 Maintain
 Enhance

 Reusable software components & modules:


 Enhance an existing component
 Make new components more generalised

CSC2402 Module 1 Part 1

Key OO Concepts
 Data Abstraction
 ADTs, information hiding
 C++ classes

 Inheritance (generalisation)
 Class hierarchies, inheritance

 Polymorphism
 Same operations on different classes/objects
 Virtual functions
 Operator overloading
CSC2402 Module 1 Part 1

Classes and Objects


 An object is like an ordinary variable:
 Holds information
 Software realisation of some real world thing
 Can have certain operation applied to it

 A class is (like) a type:


 Abstraction of a set of objects that behave
identically
 Defines internal implementation, operations
 Can create (instantiate) objects from a class
CSC2402 Module 1 Part 1

OO Software Development
 OO Analysis:
 Identifying required functionality, classes and their
relationships

 OO Design:
 Specifying class hierarchies, class interfaces and
class behaviour

 OO Programming:
 Implementing an OO design in an OO
programming language
CSC2402 Module 1 Part 1

You might also like