1.14. Summary
- Computer science is the study of problem solving.
- Computer science uses abstraction as a tool for representing both
processes and data.
- Abstract data types allow programmers to manage the complexity of a
problem domain by hiding the details of the data.
- C++ is a powerful object-oriented language.
- All variables must be declared before use in C++.
- C++ has typical built-in numeric types:
int
is for integers and float
and double
are used for floating point depending on the number of digits desired.
- C++ has the Boolean type
bool
that holds true
or false
.
- The character data type
char
holds a single character which is encased in single quotes.
- Pointers are a type of variable that stores a memory address. To declare a pointer, an
*
is used before the variable name that is supposed to store the location.
- A statically allocated C++ array is an ordered collection of one or more C++ data values of identical type stored in contiguous memory.
- A vector is a dynamically allocated array with many useful methods.
- C++ strings are a sequential collection of zero or more characters.
- A hash table is used to store keys-value pairs. It applies a related hash function to the key in order to compute the location of the associated value. Look-up is typically very fast.
- A set is an unordered collection of unique values.
- Arrays, vectors, and strings are C++ sequential collections.
- Hash tables and sets are nonsequential collections of data.
- In C++, a function definition requires a name, a group of parameters, a return type, and a body.
- Non-fruitful functions in C++ must contain the keyword
void
in its function definition.
- You can pass variables by value as well as by reference in C++ functions. Passing by reference utilizes the use of pointers.
- Pass by reference is useful when you require a function to return multiple variables.
- To pass an array to a function you need to use an array parameter. The array parameter is denoted by the array variable name followed by set of square brackets ([ and ]).
- Defining a new meaning for an already existing operator (such as the arithmetic operators plus “+” or times “*”) is called overloading the operator. The operators ::, #, ., and ? are reserved and cannot be overloaded.
- Some operators such as =, [], () and -> can only be overloaded as member functions of a class and not as global functions.
- Classes allow programmers to implement abstract data types.
- Programmers can override standard methods as well as create new
methods.
- Classes can be organized into hierarchies.
- A class constructor should always invoke the constructor of its
parent before continuing on with its own data and behavior.
Next Section - 1.15. Key Terms