 C++ adds greater typing strength, scoping, and other tools useful in object-oriented programming, and permits generic programming via templates.Nearly a superset of C, C++ now supports most of C, with a few exceptions.Objective-C was originally a very "thin" layer on top of C, and remains a strict superset of C that permits object-oriented programming using a hybrid dynamic/static typing paradigm.