Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

d
data types
communitycreator

What is function overloading in D?

Chinweuba Elijah Azubuike

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code

Overview

An overloaded function is a repeated declaration with the same scope, but a different argument and definition. When an overloaded function is called in D, the compiler defines the function by comparing the argument types and the parameter types specified. The process of doing this is called overload resolution.

Function overloading

For function overloading, the argument names and types must be different for the same function in the same scope. The overloaded function cannot differ only by the return type.

Code example

import std.stdio;
import std.string;
class printData {
public:
void print(int n) {
writeln("data type is an int: ",n);
}
void print(double l) {
writeln("data type is a float: ",l );
}
void print(string m) {
writeln("data type is a string: ",m);
}
};
void main() {
printData pd = new printData();
// Call `print` to print the integer
pd.print(5);
// Call `print` to print the float
pd.print(500.263);
// Call `print` to print the character
pd.print("Hello D");
}
Function overloading in D

Explanation

  • Line 4: We declare a class printData.
  • Lines 6 to 8: We create a function for printing, and pass in an integer data type as its parameter. (We do the same thing from lines 10 to 12 and lines 14 to 16, but their cases have different data types passed in as parameters.)
  • Line 20: We create a new instance of the initial class we created.
  • Lines 23 to 29: We then access the print function using different data types.

RELATED TAGS

d
data types
communitycreator

CONTRIBUTOR

Chinweuba Elijah Azubuike

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code
Keep Exploring