也不是不可以,只是更为复杂而已。
class Base1:
pass
class Derived1(Base1):
prop = Base2()
class Base2:
pass
class Derived2(Base2):
prop = Base1()
在定义 Derived2 的时候,就可以探测到 prop 可能会发生循环引用。我比较担心的事情是如果这样扩展,会不会到处都是循环引用,以至于写不出什么有用的代码。
还有树型结构也会很悲剧,只能手动用 shared_ptr 和 weak_ptr 管理
【 在 fanci (大葡萄) 的大作中提到: 】
: 虚继承就没法探测循环引用了…
--
FROM 183.253.23.*