Introduction to C++

Data Abstraction w/ Classes

Lecture #1 plus Review

Programming Paradigms

Procedural Abstraction

Modular Abstraction

Modular Abstraction

Modular Abstraction

Modular Abstraction

Data Abstraction

Data Abstraction

Data Abstraction

Data Abstraction

Data Abstraction

Data Abstraction

Data Abstraction

Data Abstraction

What is a Class?

What is a Class?

When do we used Classes?

But, What is a Data Type?

Defining new Data Types...

Defining a Class...

For Example, here is a Class Interface

Then, the Class Implementation

More of the Class Implementation

Defining Objects of this Class

Using Objects of this Class

Using Objects of this Class

Limitations...

Limitations...

For Example, here is a Class Interface

List Example

List Example

List Example

"Data Hiding"

Data Abstraction in C++

“class” Terminology

“class” Terminology

“class” Terminology

“class” Terminology

“class” Terminology

“class” Terminology

Structure Example

“class” Terminology

Data Hiding

Data Hiding

Data Hiding

Data Hiding

“class” Terminology

Data Hiding

Where to place....

Class Interface  (.h)

Class Implementation

Constructors

Constructors

Constructor

Constructor

Dynamic Memory w/ Classes

Dynamic Memory w/ Classes

Dynamic Memory w/ Classes

Default Constructor

Another Constructor

2nd Constructor

Clients creating objects

Default Arguments

Destructor

Destructor

Review of Classes

Review of Classes

Review of Classes

Review of Classes

Review of Classes

Review of Classes