Data-encapsulation is key to the functionality of many high level or later generation programming languages such as C++ and Java. It is simply a means of creating “containers” called objects, and holding multiple variables of varying data types called member variables inside of those containers. C++ offers three methods of data-encapsulation; struct, union and class. This is where C++ become object oriented.