In this project, I have designed the following Abstract Data Types (ADTs): Stack, Queue, and Fixed Array, using C++ Templates. Use of Object-Oriented Principles like inheritance, composition, and Liskov Substitution Principle (LSP) are utilized to do the design.