最近参加了一些面试,总是能遇见一些BT的题目,分享一下吧。
题目:class C多重继承于class A和Class B,如果想取消对B的继承,如何修改已有代码。条件是A和B不能修改。
我想,既然取消了继承,那用组合就行了。
然后,就是无理取闹的过程了,问用到了B的指针指向了C的对象,这时怎么办。
1: B* pb = new C;
肯定是编译不过啦,让解决以后的编译问题,还提示用cast。
cast是那么好用的吗,比如下面的例子
1: #include
最近参加了一些面试,总是能遇见一些BT的题目,分享一下吧。
题目:class C多重继承于class A和Class B,如果想取消对B的继承,如何修改已有代码。条件是A和B不能修改。
我想,既然取消了继承,那用组合就行了。
然后,就是无理取闹的过程了,问用到了B的指针指向了C的对象,这时怎么办。
1: B* pb = new C;
肯定是编译不过啦,让解决以后的编译问题,还提示用cast。
cast是那么好用的吗,比如下面的例子
1: #include