kreativkeks am 27.03.2009 um 12:07 Uhr
<html> <body> <?php class bruch { private $zaehler; private $nenner;
public function __construct($z,$n) //$z='1', $n='2'????-help i need somebody
{
$this->$zaehler = $z;
$this->$nenner = $n;
}
public function aus()
{
return $this->zaehler . "/" . $this->nenner;
}
public function mult($a)
{
$erg = new bruch(0,0);
$erg->zaehler = $this->zaehler * $a->zaehler;
$erg->nenner = $this->nenner * $a->nenner;
return $erg;
}
}
$x = new bruch(3,7); $y = new bruch(4,5);
echo $x->aus() . " * " .$y->aus() . " = " . $x->mult($y)->aus();
?> </body>
</html>
Meldung ist Fatal error siehe Bilder, lasse ich bei construct die Unterstriche weg, wird wenigstens ein Bruch ausgegeben, aber ohne Inhalt.. Danke, clueless_newbie bzw. Kreativkeks
Bild/er:

Der Fehler lautet nicht Fatal Error, sondern "Cannot access empty property in blablabla on line 11". Also ist irgendwas in Zeile 11 falsch, dort steht:
$this->$zaehler = $z;
An sämtlichen anderen Stellen im Skript steht jedoch:
$this->zaehler = irgendwas
Ich vermute daher, dass das $-Zeichen weg muss, genauso auch in der Zeile drunter. Ich kann mich aber auch irren, ich habe nie mit PHP gearbeitet. Aber du siehst, dass man trotzdem den Fehler finden kann, wenn man nur richtig liest! Man lernt programmieren nur duch trial-and-error, d.h. du solltest dir die Mühe machen solche Fehler selbst zu finden, sonst lernst du rein gar nichts!
Richtig. Bei $this->$zaehler ist der zweite Dollar zuviel. Bei den anderen $this->$dingens auch.