Q:

Data Structures using C or C++?

What are the advantages of using C++ based Classes/Objects over using legacy C Structures for managing standard Data Structures like Linked List, Stack, Tree, Queue ..etc? Let me know if the question is not clear. 

A:

For one thing, in C++ you can use templates, which allows you to create generic collections and use them in a type-safe manner. I.e. you can have a list of strings, another list of ints and a third of YourClass objects, all backed by a single list implementation, and the compiler guarantees that you can't put a string into a list of ints.
In C you could only achieve this via void* pointers, and type safety would not be guaranteed by the compiler.

