- Member Overload: Left-hand operand must be an instance of the class (
obj1 + obj2). - Non-Member (Friend) Overload: Symmetric conversions allowed for both left and right operands (
2.0 * vectorandvector * 2.0).
Architecture Diagram
OPERATORS THAT CANNOT BE OVERLOADED:
┌─────────────────────────────────────────────────────────────┐
│ • Scope Resolution: :: │
│ • Member Selection: . │
│ • Pointer-to-Member: .* │
│ • Ternary Conditional: ?: │
│ • Size Query: sizeof │
│ • Type Identification: typeid │
└─────────────────────────────────────────────────────────────┘