Classes

From Sputnik Wiki
(Difference between revisions)
Jump to: navigation, search
(Example)
(Example)
Line 72: Line 72:
 
// Class variable Y: 21
 
// Class variable Y: 21
 
// Class variable Z: 31
 
// Class variable Z: 31
 +
</syntaxhighlight>
 +
 +
==== Overloading the -- ====
 +
 +
<syntaxhighlight lang="sputnik">
 +
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
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 23:15, 19 November 2011

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

Contents

Description

Features

Statements

Variables

Functions

Operator Overloads

Cast Overloads

Remarks

Example

Overloading the ++

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 the --

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
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox