from abstraction to ADTs to C++ classes abstract data types consist of... data, operations interface vs. implementation (e.g. TV, car, radio) client vs. implementer (both programmers) how to think about classes better tool for realizing ADTs structs were formally grouped data, classes also have formally grouped functions message-based computing (see lecture slides) syntactic anatomy of a class header (specification or interface), source (implementation) files *strictly speaking, member data in header is part of implementation member data member functions (methods) constructors, can have many different ones default (no parameters) see example code for class SimpleDate