首页 > 试题广场 >

写出下列程序的输出结果。

[问答题]
写出下列程序的输出结果
<?php
class a
{
    protected $c;
    public function a() {
        $this->c = 10;
    }
}

class b extends a
{
    public function print_data() {
        return $this->c;
    }
}
$b = new b();
echo $b->print_data();
?>


10   function a 是构造函数
发表于 2015-06-23 20:37:51 回复(0)
10
发表于 2015-06-02 22:47:12 回复(0)
10
发表于 2015-05-13 20:53:44 回复(0)
10  子类没有构造函数的情况下调用父类的构造函数,没有__construct()时,与类名相同的方法就是构造方法
发表于 2015-05-13 17:03:56 回复(0)
就是10啊
发表于 2015-05-13 16:24:06 回复(0)
<?php
class a{
 protected $c;
 public function a(){
 $this->c = 10;
 echo "in a constructor...<br/>";
 }
}

class b extends a{
 public function print_data(){
 echo "in b print_data...<br/>";
 return $this->c;
 }
}
$x = new b();
echo $x->print_data(); //10
echo $x->c; // error: can't access protected property b::$c
?> 
输出:
in a constructor... 
in b print_data... 
10 
Fatal error: Cannot access protected property b::$c

编辑于 2015-04-15 19:17:02 回复(0)
10 默认隐式调用父类构造函数
发表于 2015-04-09 21:19:24 回复(0)
10
发表于 2015-03-19 14:04:50 回复(0)
 运行结果为:
10
子类中无缺省构造函数时,会隐式调用父类的缺省构造函数;子类不会隐式调用父类的默认 析构函数.
发表于 2015-02-10 15:55:52 回复(0)
10 
类a中的函数a是构造函数,所以初始化父类时会调用$this->c=10;
但是 题目中的retwrs应该是return吧
发表于 2015-01-06 15:50:28 回复(0)
NULL
发表于 2014-12-08 01:10:57 回复(0)