关于php对象初始化

a=$b; } } $obj = new Test; //$obj->a ='dde'; echo $obj->a . "/n"; ?>

上面这段代码执行错误,并不是因为$obj = new Test;应该有括号。

而是因为在存在 __construct 函数的时候,php不会再提供默认的构建函数,

php应该是不允许参数不同重载函数。

下面的代码可以正常运行

a ='dde'; echo $obj->a . "/n"; ?>

 

这样我想到了c++里面的构建过程,C++中如果没有填写构建函数,会提供一个默认的,或者你以不同参数的形式重载了构建函数,

编译器也会提供一个默认的构建函数。

这个现象应该是php不允许以参数形式重载函数导致的。

你可能感兴趣的:(php,编译器,c)