1、在C++中,Animal a = Person(); 这样写是不行的,因为a的内容不能使用Person的内容来填充。
2、在Python中,变量不需要声明,而且可以赋任何值。Python是如何做到的?
Python的设计理念是:变量和实体分离,变量可以认为是一个指针,指向某个实体,而且可以指向任何实体。这个变量只能指向实体,不能包含实体的内容。对变量赋值,不是修改指向的实体,而是使变量指向另一个实体。
也就是说,变量没有办法修改指向的实体,修改变量只不过是让他指向另一个实体。
变量可以间接的修改实体,比如a,b指向同一个容器,a修改容器的第一个元素,b容器的第一个元素也发生变化。但这本质上,还是修改了容器第一个元素的指向。