compiler a program that translates a highlevel language into machine code
composition (containment) a mechanism by which the internal data (the state) of one class includes an object of another class
computer a programmable device that can store, retrieve, and process data
computer program a list of instructions to be performed by a computer
computer programming the process of planning a sequence of steps for a computer to follow
concrete step a step for which the implementation details are fully specified
constructor an operation that creates a new instance (variable) of an ADT
control abstraction the separation of the logical properties of an action from its implementation
control structure a statement used to alter the normally sequential flow of control
control unit the component of the central processing unit that controls the actions of the other components so that instructions (the program) are executed in the correct sequence
count-controlled loop a loop that executes a specified number of times
D
dangling pointer a pointer that points to a variable that has been deallocated
data information that has been put into a form a computer can use
data abstraction the separation of a data type's logical properties from its implementation
data flow the flow of information from the calling code to a function and from the function back to the calling code
data representation the concrete form of data used to represent the abstract values of an abstract data type
data type a specific set of data values along with a set of operations on those values
declaration a statement that associates an identifier with a data object, a function, or a data type so that the programmer can refer to that item by name
deep copy an operation that not only copies one class object to another but also makes copies of any pointed-to data
demotion (narrowing) the conversion of a value from a higher type to a lower type according to a programming language's precedence of data types. Demotion may cause loss of information.
derived class (subclass) the class that inherits
direct addressing accessing a variable in one step by using the variable name
documentation the written text and comments that make a program easier for others to understand, use, and modify
driver a simple main function that is used to call a function being tested. The use of a driver permits direct control of the testing process.
dynamic binding the run-time determination of which function to call for a particular object
dynamic data variables created during execution of a program by means of special operations. In C++, these operations are new and delete.
dynamic data structure a data structure that can expand and contract during execution
dynamic linked list a linked list composed of dynamically allocated nodes that are linked together by pointers
E
editor an interactive program used to create and modify source programs or data
encapsulation hiding a module implementation in a separate block with a formally specified interface
enumeration type a user-defined data type whose domain is an ordered set of literal values expressed as identifiers
enumerator one of the values in the domain of an enumeration type
event counter a variable that is incremented each time a particular event occurs