how we use adt's in c++;
how it is used in program;
Why would you use an ADT in C++ when you can use a class.
An ADT is all about encapsulation, that is separating the data from the interface that allows you to access the functionality the data supports. In C++ a class is the why to do this.
ADTs were used in C to achieve a similar thing, data is declared statically to a module and/or allocated off the heap as required by the module. The module then also defines a series of functions that allow external modules to access it and invoke it's functionality.
It is not as elegant as a C++ class and does not support inheritance or polymorphism (or at least not without a lot of rather complex code) but by itself encapsulation can improve the reliability and maintainability of a program.