Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有这样的代码:
Class A{}; Class B : A {}; void foo() { throw new B; }
在这里,我们只能使用 catch(B *e) 来捕获异常。但是为什么我们不能使用 catch(A *e) 捕获它。这是因为继承中的私有访问类型吗?
是的,这正是原因。
由于私有B继承,除了继承之外没有人知道。所以一个对象不被认为是一个对象,不能转换为.ABBAA
B
A