fork download
  1. <?php
  2.  
  3. //нихуя не работает, что делать с этим пока не знаю.
  4. class Calc
  5. {
  6. public function createStack() {
  7. $newStack = new Stack;
  8. return $newStack;
  9. }
  10.  
  11. public function sum() {
  12. $augend = $this->pop();
  13. $addend = $this->pop();
  14. $this->push($augend+$addend);
  15.  
  16. }
  17. }
  18.  
  19. //Вроде всё норм работает, пуш добавляет элемент в стек, поп извлекает.
  20. class Stack
  21. {
  22. public $body = [];
  23.  
  24. public function push($a) {
  25. $this->body[] = $a;
  26. }
  27.  
  28. public function isEmpty() {
  29. return (count($this->body)==0);
  30. }
  31.  
  32. public function pop() {
  33. if (!$this->isEmpty()) {
  34. $poped = array_pop($this->body);
  35. return $poped;
  36. } else {
  37. return null;
  38. }
  39. }
  40.  
  41. }
  42.  
  43.  
  44.  
  45. //$test = new Stack;
  46. //$test->push(2);
  47. //$test->push(4);
  48. //var_dump($test);
  49.  
  50. $test1 = new Calc;
  51. $test1->createStack;
  52.  
  53.  
  54. var_dump($test1);
  55.  
  56.  
Success #stdin #stdout #stderr 0.01s 20520KB
stdin
Standard input is empty
stdout
object(Calc)#1 (0) {
}
stderr
PHP Notice:  Undefined property: Calc::$createStack in /home/LfzOnz/prog.php on line 52