Incase it doesn't show up:

you are viewing a single comment's thread
view the rest of the comments
[–] 1 point 2 years ago* (last edited 2 years ago) (1 child)

I don't think it's what the person you're replying to meant, but template metaprogramming in modern c++ allows the use of "duck typing" aka "static polymorphism" where you can code against an interface without requiring inheritance.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 2 years ago

    Typically this is done with CRTP which does require inheritance. But I agree, you can do some meta programming or use concepts which can enforce interfaces in a different way. But back to the original comment that interfaces via inheritance are objectively bad, I don’t think there’s any consensus that this is true. And pure virtual interfaces and CRTP are both common use cases of inheritance in modern C++ codebases and are generally considered good design patterns.

  • source
  • parent