The SOLID design principles focus on developing software that is easy to maintainable, reusable & extendable. In this article, we will see a code violating the Interface Segregation Principle in C++. This is the fourth & by far the simplest design principle of a series SOLID as a Rock design principles. The code snippets you see throughout this series of articles are simplified not sophisticated. They are compiled using C++20(though I have used Modern C++ features up to C++17 in most cases)