7 ms·
C++ lets you inherit from multiple classes as well. I don't see how this has anything to do with being able to add new methods to existing types.
by Kranar 1y ago
C++ lets you inherit from multiple classes as well. I don't see how this has anything to do with being able to add new methods to existing types.
- tomjakubowski 1y agoThere is an important difference: in Rust you can write a new trait, with new methods, and impl that trait for a type without having to change the existing structs/enums which comprise that type at all. You can also do this (with some restrictions, "the orphan rule") for types defined in another library. In C++ classes, you have to be able to modify a class definition to extend it with new methods (or a new ancestor to multiply inherit from).
- bitwize 1y agoC++ classes are types. Rust traits are applied to types.
- Kranar 1y agoAnd what exactly do you think traits apply to types exactly? If your answer doesn't start with an "m" and end with a "ethod", then you may need to re-read the Rust book found here: https://doc.rust-lang.org/book/ch10-02-traits.html https://doc.rust-lang.org/book/ch10-02-traits.html
- adastra22 1y agoYou can add traits (with their methods) to existing types, without modification.