130 likes | 234 Views
This guide provides a comprehensive overview of fundamental data structures in C++, focusing on pointers, enums, structures, and classes. Learn how to create and utilize pointers, along with their operators and initialization techniques. Discover how to define and use enums and structures for efficient data management. Gain insight into nested structures and the creation of custom data types. Lastly, understand the definition of classes and the concept of object instantiation to enhance your programming skills in C++.
E N D
CPS120: Introduction to Computer Science Data Structures
Pointer Use in C++. • A pointer is a variable or constant that holds a memory address • a) Hexadecimal numbers are used for representing memory locations 216793 216794 216801 iptr … 216801 3 i 216802
Using Pointers • Pointers must be initialized • e.g. iptr =&I; • This reads iptr is assigned the address of i
Intializing Pointers • Declare pointers before use, as with other variables. • Each variable being declared as a pointer must be preceded by an asterisk (*). • Initialize pointers before use to a 0, NULL or an address to prevent unexpected results
Pointer Operators • & is the address operator which returns the address of its operand • * is the indirection operator or dereferencing operator and returns the value to which the operand (pointer) points.
Using enum • enum allows you to create your own simple data types for special purposes • Create a type • Give it a name • Specify values that are acceptable enum sizes {small, medium, large, jumbo}; • The compiler assigns an integer to each enum item
typedef • typedef gives a new name to an existing data type typedef float real; • Confusing to the reader, should be used sparingly
Structures • Structures group variables together in order to make one's programming task more efficient. • Any combination of variables can be combined into one structure. • This is a useful and efficient way to store data. struct Student { string socSecNum; string lastName; string firstName; int pointsEarned; double gpa; };
Using Structures • Each of the different variables are called members of the structure • Structures allow us to keep related data referring to individual members together • Strings, integer, and floating-point variables may be grouped together into one structure. • In effect, we have created our own customized data type. • The semicolon after the closing curly brace is required
Using the new data structure • The structure definition should be placed above the main function of a program but below the compiler directives • Declare an actual variable of this programmer-created data type within a function (such as main) in order to make use of this structureDone with a declaration statement like Student freshmen; • This reates a variable called freshmen of the data type Student
Assigning values to the structure • To assign a grade point average (GPA) of 3.4 to the gpa member of the variable freshmen, use the statement: freshmen.gpa = 3.4; • The period (.) that is used between the variable name freshmen and the member gpa is called the dot operator. • The dot operator simply us to reference individual members of a structure
Nested Structures • You can use a previously defined structure as a member of another structure • Address is nested inside of the Customer structure. • Since Address is used within Customer, the structure definition for Address must be placed above Customer in order to avoid compile errors struct Address{ string street; string city; string state; int zip;}; struct Customer{ string name; string phone; Address homeAddress; Address businessAddress; };
Classes • The definition of an object is know as a class • It is similar to using basic data structures in C++ • When you declare an object, you are said to have instantiated it (given it instances) • Objects are members of a class • Paul Millis, George Bush and George Washington being members of the human being class • The design of a class is as important as its implementation