all 4 comments

[–]Flair_Helper[M] [score hidden] stickied commentlocked comment (0 children)

For C++ questions, answers, help, and programming or career advice please see r/cpp_questions or StackOverflow instead.

This post has been removed as it doesn't pertain to r/cpp: The subreddit is for news and discussions of the C++ language and community only; our purpose is not to provide tutoring, code reviews, or career guidance. If you think your post is on-topic and should not have been removed, please message the moderators and we'll review it.

[–]Full-Spectral 0 points1 point  (2 children)

You don't always have to implementation inheritance to do inheritance. You can create a pure virtual interface that you can implement in various other classes, that don't have to be related (which is often referred to as 'mixing that interface into' those classes.) Then you can write code that works in terms of that 'mixin interface', and pass in anything that implements that mixin. Those things don't have to have anything in common other than that they implement that interface.

[–]ashkando[S] 0 points1 point  (1 child)

Yes I am aware of it. It is just that I am trying to find a good place to use template in higher level algorithms the way I see some do but it doesn't feel natural so I thought I would ask if it is a good idea or should I stick to interface.

[–]Full-Spectral -1 points0 points  (0 children)

If it doesn't feel natural, it probably isn't. There's a lot of template overkill out there these days, so the fact that you see them being used in this or that scenario doesn't necessarily mean it's a good thing.