The practice of allocating memory when an object is initialized, and freeing memory when an object is destroyed
What is RAII (Resource Allocation is Initialization)?
The expression used to grab the address of a variable
&
The class from which other classes may be derived and inheriting from
What is the base class?
+, -, ==, &&, +=, !, and % can all be defined as this tool
What are operators?
Keyword that allows others to access an object's state, but are unable to modify it.
What is const?
"~<Class Name>()" is the syntax for this function
What is a Destructor?
What expression is used to point an iterator at the beginning of a vector?
"vector name".begin()
The modifier that only allows the base class and its inherited classes to have access to its functions
What is Protected?
The syntax for creating an operator overload is
What is operator with your operator symbol right after: operator"symbol"
The three keywords used for error exception handling
What are throw, try, and catch?
This occurs when dynamic memory is allocated, but the data is never deleted
What is a memory leak?
The virtually unlimited memory space where access to data may be slower
What is the heap?
What is a derived class?
A tool that enables programmers to write classes that work, generically, with multiple data types
What is a class template?
This term specifies what conditions should be true over the course of an object's lifetime
What is a class invariant
The default copies of pointers, which refer to the original object
What is a shallow copy?
Given a "fruit" vector, insert "grapes" between "pear" and "banana":
<“watermelon”, “apple”, “pear”, “banana”, “tomato”>
fruit.insert(fruit.begin() + 3, "grapes");
The process in which a derived class takes a function that is previously established in the base class, but then redefines it.
What is overriding?
The pointer that points to the current instance of a class. It is typically found in a copy assignment
What is *this?
Exception that is thrown when errors arise because of an argument value is not accepted as a valid input
std::invalid_argument
If you define one, your class requires all three of these functions:
What is a destructor, a user defined copy constructor, and a user defined copy assignment operator? (The Rule of Three)
Given the code, what does intPointer increment?
int myInt = 10;
int* intPointer = &myInt;
intPointer++;
The address of intPointer is incremented and not myInt
The syntax derived classes use to call their respective base class functions
<Base class>::<member function name>(<parameters>)
What is the syntax of the data type placeholder found in template creation?
What is template <typename T>?
A type of exception that's thrown when an element cannot be found within a dictionary/vector, or tying to access an index that does not exist
std::out_of_range