PLDB
Languages Features Creators Calendar CSV Resources Blog About Donate Add Language
GitHub icon

Operator Overloading

< >
Example from Python, Cython:
# Python Program illustrate how # to overload an binary + operator class A: def __init__(self, a): self.a = a # adding two objects def __add__(self, o): return self.a + o.a ob1 = A(1) ob2 = A(2) ob3 = A("Geeks") ob4 = A("For") print(ob1 + ob2) print(ob3 + ob4)
Example from C3:
fn int IntList.get(IntList* this, int idx) @operator([]) { return this.vals[idx]; } ... IntList x = ... foo(x[1]);
Example from Wolfram Language:
f[x_Integer] := x^2; f[x_String] := "not a number"; f[x_Symbol] := x^2;

Languages with Operator Overloading include Python, C++, PHP, Perl, MATLAB, C#, Ruby, R, Scala, Swift, Ada, Rust, Kotlin, Haskell, Lua, Clojure, Dart, F#, Eiffel, Smalltalk, Groovy, D, Visual Basic .NET, Io, Ceylon, Object Pascal, Cython, C3, Perl 6, Wolfram Language, Seed7, Free Pascal, FreeBASIC, Real-Time Concurrent C

Languages without Operator Overloading include Java, JavaScript, C, Go, Pascal, TypeScript, Objective-C, Visual Basic, Modula-2, BASIC, progsbase, Jule, Pizza, Deesel, Tick C, cooC, ADLIB, Static Typescript, Extended Pascal, Modula-2+

Read more about Operator Overloading on the web: 1. 2.

HTML of this page generated by Features.ts

hasOctals.html 路 hasOperatorOverloading.html 路 hasPairs.html

View source

PLDB - Build the next great programming language Search v2023 Day 157 Docs Acknowledgements Traffic Today Traffic Trends Mirrors GitHub feedback@pldb.com