Classes

From Sputnik Wiki
(Difference between revisions)
Jump to: navigation, search
(Example)
(Example)
Line 32: Line 32:
  
  
==== Overloading the ++ ====
+
==== Overloading = ====
 +
 
 +
This cannot be overloaded!
 +
 
 +
==== Overloading += ====
 +
 
 +
==== Overloading -= ====
 +
 
 +
==== Overloading *= ====
 +
 
 +
==== Overloading **= ====
 +
 
 +
==== Overloading /= ====
 +
 
 +
==== Overloading %= ====
 +
 
 +
==== Overloading .= ====
 +
 
 +
==== Overloading ..= ====
 +
 
 +
==== Overloading ^= ====
 +
 
 +
==== Overloading &= ====
 +
 
 +
==== Overloading |= ====
 +
 
 +
==== Overloading >>= ====
 +
 
 +
==== Overloading <<= ====
 +
 
 +
==== Overloading | ====
 +
 
 +
==== Overloading ^ ====
 +
 
 +
==== Overloading & ====
 +
 
 +
==== Overloading + ====
 +
 
 +
==== Overloading - ====
 +
 
 +
==== Overloading * ====
 +
 
 +
==== Overloading ** ====
 +
 
 +
==== Overloading / ====
 +
 
 +
==== Overloading % ====
 +
 
 +
==== Overloading . ====
 +
 
 +
==== Overloading << ====
 +
 
 +
==== Overloading >> ====
 +
 
 +
==== Overloading ++ ====
  
 
<syntaxhighlight lang="sputnik">
 
<syntaxhighlight lang="sputnik">
Line 74: Line 128:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== Overloading the -- ====
+
==== Overloading -- ====
  
 
<syntaxhighlight lang="sputnik">
 
<syntaxhighlight lang="sputnik">
Line 115: Line 169:
 
// Class variable Z: 29
 
// Class variable Z: 29
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
==== Overloading == ====
 +
 +
==== Overloading != ====
 +
 +
==== Overloading < ====
 +
 +
==== Overloading <= ====
 +
 +
==== Overloading > ====
 +
 +
==== Overloading >= ====
 +
 +
==== Overloading <> ====
 +
 +
==== Overloading eq ====
 +
 +
==== Overloading eqi ====
 +
 +
==== Overloading neq ====
 +
 +
==== Overloading neqi ====
 +
 +
==== Overloading || ====
 +
 +
==== Overloading && ====

Revision as of 23:19, 19 November 2011

Class <name>
{
	statements
	...
	functions
	...
	operator overloads
	...
	casting overloads
	...
};

Contents

Description

Features

Statements

Variables

Functions

Operator Overloads

Cast Overloads

Remarks

Example

Overloading =

This cannot be overloaded!

Overloading +=

Overloading -=

Overloading *=

Overloading **=

Overloading /=

Overloading %=

Overloading .=

Overloading ..=

Overloading ^=

Overloading &=

Overloading |=

Overloading >>=

Overloading <<=

Overloading |

Overloading ^

Overloading &

Overloading +

Overloading -

Overloading *

Overloading **

Overloading /

Overloading %

Overloading .

Overloading <<

Overloading >>

Overloading ++

Class Vec3
{
	my $x = 0;
	my $y = 0;
	my $z = 0;
	Function Vec3($x1 = 0, $y1 = 0, $z1 = 0)
	{
		$this->$x = $x1;
		$this->$y = $y1;
		$this->$z = $z1;
	}
	Operator "++"
	{
		$this->$x++;
		$this->$y++;
		$this->$z++;
	}
};
$cat1 = new Vec3(10, 20, 30);
println("BEFORE ++");
println("Class variable X: " . $cat1->$x);
println("Class variable Y: " . $cat1->$y);
println("Class variable Z: " . $cat1->$z);
$cat1++;
println("AFTER ++");
println("Class variable X: " . $cat1->$x);
println("Class variable Y: " . $cat1->$y);
println("Class variable Z: " . $cat1->$z);
// Prints
// BEFORE ++
// Class variable X: 10
// Class variable Y: 20
// Class variable Z: 30
// AFTER ++
// Class variable X: 11
// Class variable Y: 21
// Class variable Z: 31

Overloading --

Class Vec3
{
	my $x = 0;
	my $y = 0;
	my $z = 0;
	Function Vec3($x1 = 0, $y1 = 0, $z1 = 0)
	{
		$this->$x = $x1;
		$this->$y = $y1;
		$this->$z = $z1;
	}
	Operator "--"
	{
		$this->$x--;
		$this->$y--;
		$this->$z--;
	}
};
$cat1 = new Vec3(10, 20, 30);
println("BEFORE --");
println("Class variable X: " . $cat1->$x);
println("Class variable Y: " . $cat1->$y);
println("Class variable Z: " . $cat1->$z);
$cat1++;
println("AFTER --");
println("Class variable X: " . $cat1->$x);
println("Class variable Y: " . $cat1->$y);
println("Class variable Z: " . $cat1->$z);
// Prints
// BEFORE --
// Class variable X: 10
// Class variable Y: 20
// Class variable Z: 30
// AFTER --
// Class variable X: 9
// Class variable Y: 19
// Class variable Z: 29

Overloading ==

Overloading !=

Overloading <

Overloading <=

Overloading >

Overloading >=

Overloading <>

Overloading eq

Overloading eqi

Overloading neq

Overloading neqi

Overloading ||

Overloading &&

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox