Sort of. The closest thing in C++ would be concepts. That is, even using traits in this way is the minority case; they're more usually used for monomorphized, statically dispatched code.
But, given the case where you want dynamic dispatch, then in a sense, they are, yes.
But, given the case where you want dynamic dispatch, then in a sense, they are, yes.