Parametric polymorphism: Difference between revisions

m
Line 222:
 
=={{header|C3}}==
<lang c3>public templatemodule tree <Type>;
 
public struct Tree
<lang c3>public template tree <Type>
{
Type value;
public struct Tree
Tree* left;
{
Tree* right;
Type value;
}
Tree* left;
Tree* right;
}
 
public funcfn void Tree.replaceAll(Tree* *a_tree, Type new_value)
{
a_tree.value = new_value;
if (a_tree.left) a_tree.left.replaceAll(new_value);
if (a_tree.right) a_tree.right.replaceAll(new_value);
}
}</lang>
 
To use a parametric type, the type must be defined first:
38

edits