Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
v3:subroutines [2024/07/30 22:39] – [Overloading] neilsv3:subroutines [2024/07/30 22:43] (current) – [Overloading] neils
Line 111: Line 111:
 Subroutine overloading, commonly known as method overloading in object-oriented programming languages, refers to the ability to create multiple subroutines with the same name but different parameters. This feature allows a programmer to define different ways to call a subroutine based on the types and number of arguments passed. Subroutine overloading, commonly known as method overloading in object-oriented programming languages, refers to the ability to create multiple subroutines with the same name but different parameters. This feature allows a programmer to define different ways to call a subroutine based on the types and number of arguments passed.
  
-Overloaded subroutines have the same name but differ in the type, number, or both type and number of parameters. The appropriate subroutine to call is determined at compile-time based on the arguments provided in the call.+Overloaded subroutines have the same name but differ in the type, number, or both type and number of parameters. 
 + 
 +==== Compile-Time Polymorphism ==== 
 + 
 +The appropriate subroutine to call is determined at compile-time based on the arguments provided in the call.
  
 Consider the following example: Consider the following example:
  
-    SUB PrintMessage(msg AS STRING) +  SUB PrintMessage(msg AS STRING * 16
-        PRINT msg +      PRINT msg 
-    END SUB +  END SUB 
-     +   
-    SUB PrintMessage(msg AS STRING, num AS INTEGER) OVERLOAD +  SUB PrintMessage(msg AS STRING * 16, num AS INT) OVERLOAD 
-        PRINT msg; " "; num +      PRINT msg; " "; num 
-    END SUB +  END SUB 
-     +   
-    CALL PrintMessage("Hello, XC=BASIC!"+  CALL PrintMessage("Hello, XC=BASIC!"
-    CALL PrintMessage("The number is", 42)+  CALL PrintMessage("The number is", 42)
  
 <adm warning> <adm warning>