Session 15 Structures and Classes: CS 200 - Introduction To Programming
Session 15 Structures and Classes: CS 200 - Introduction To Programming
SESSION 15
STRUCTURES AND CLASSES
Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
What Is a Class?
Slide 10- 2
Class Definitions
can hold
A description of the member functions
Slide 10- 3
Structures
Slide 10- 4
The CD Definition
semicolon!
Slide 10- 5
Slide 10- 6
Slide 10- 7
Slide 10- 8
Display 10.2
Slide 10- 9
Next
Slide 10- 10
Display 10.1
(2/2)
Back
Next
Slide 10- 11
Display 10.2
Back
Next
Slide 10- 12
Duplicate Names
struct FertilizerStock
{
double quantity;
double nitrogen_content;
};
struct CropYield
{
int quantity;
double size;
};
FertilizerStock super_grow;
CropYield apples;
super_grow.quantity and apples.quantity are
different variables stored in different locations
Slide 10- 13
Structures as Arguments
Slide 10- 14
Slide 10- 15
Slide 10- 16
Slide 10- 17
Hierarchical Structures
struct PersonInfo
{
double height;
int weight;
Date birthday;
};
Slide 10- 18
Using PersonInfo
Slide 10- 19
Initializing Structures
Slide 10- 20
Can you
Slide 10- 21
10.2
Classes
Classes
Slide 10- 23
A Class Example
Slide 10- 24
{
public:
void output( );
int month;
int day;
};
Slide 10- 25
void DayOfYear::output()
{
cout << month = << month
<< , day = << day
<< endl;
}
Slide 10- 26
Slide 10- 27
The :: Operator
Slide 10- 28
:: and .
Slide 10- 29
Slide 10- 30
Next
Slide 10- 31
Display 10.3
(2/2)
Back
Next
Slide 10- 32
Encapsulation
Encapsulation is
Combining a number of items, such as
variables and functions, into a single package
such as an object of a class
Slide 10- 33
Slide 10- 34
Slide 10- 35
Fixing DayOfYear
To fix DayOfYear
We need to add member functions to use when
changing or accessing the member variables
Slide 10- 36
Public Or Private?
Slide 10- 37
Private Variables
Slide 10- 38
Slide 10- 39
A New DayOfYear
Slide 10- 40
Next
Slide 10- 41
Next
Slide 10- 42
Slide 10- 43
Member_Specification_3
private:
Member_Specification_n+1
Member_Specification_n+2
};
Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Slide 10- 44
Declaring an Object
class Bicycle
{
// class definition lines
};
Bicycle my_bike, your_bike;
Slide 10- 45
Slide 10- 46
Program Example:
BankAccount Class
Display 10.5 ( 3)
Display 10.5 ( 4)
Slide 10- 47
Slide 10- 48
Slide 10- 49
Constructors
Slide 10- 50
Constructor Declaration
Slide 10- 51
Constructor Definition
Note that the class name and function name are the same
Slide 10- 52
Slide 10- 53
Slide 10- 54
Overloading Constructors
Slide 10- 55
Slide 10- 56
Slide 10- 57
Slide 10- 58
Display 10.6
(1/3)
Back
Next
Slide 10- 59
Next
Slide 10- 60
Display 10.6
(3/3)
Back
Next
Slide 10- 61
Initialization Sections
}
The values in parenthesis are the initial values for the
member variables listed
Slide 10- 62
Slide 10- 63
Can you
Describe the difference between a class and
a structure?
Slide 10- 64
10.3
Abstract Data Types
Slide 10- 66
Slide 10- 67
ADT Interface
Slide 10- 68
ADT Implementation
Slide 10- 69
ADT Benefits
Slide 10- 70
Program Example
The BankAccount ADT
Slide 10- 71
Next
Slide 10- 72
Next
Slide 10- 73
Next
Slide 10- 74
Interface Preservation
Slide 10- 75
Information Hiding
Slide 10- 76
Can you
Describe an ADT?
Slide 10- 77
Chapter 10 -- End
Slide 10- 78
Next
Slide 10- 79
Display 10.1
(2/2)
Back
Next
Slide 10- 80
Display 10.2
Back
Next
Slide 10- 81
Next
Slide 10- 82
Display 10.3
(2/2)
Back
Next
Slide 10- 83
Next
Slide 10- 84
Next
Slide 10- 85
Next
Slide 10- 86
Next
Slide 10- 87
Display 10.5
(3/4)
Back
Next
Slide 10- 88
Display 10.5
(4/4)
Back
Next
Slide 10- 89
Display 10.6
(1/3)
Back
Next
Slide 10- 90
Next
Slide 10- 91
Display 10.6
(3/3)
Back
Next
Slide 10- 92
Next
Slide 10- 93
Next
Slide 10- 94
Next
Slide 10- 95