作者saladim (杀拉顶)
看板OOAD
标题Re: [问题] 关於物件导向观念的问题
时间Sun Mar 30 01:29:32 2008
※ 引述《awes6380 (明智)》之铭言:
: 一个子类别C里定义了一个跟父类别S里名称一样的function f()
: 此时有一个物件o定义如下:
: C o=new C();
: S p=o;
: 此时p.f()和o.f()指的是同一个function,这种观念称为?
: A、Encapsulation
: B、Overloading
: C、Inheritance
: D、Polymorphism
: E、以上皆非
: 不知答案是哪一个呢?
: 另外请教一下,上例中S p=o;是在实做downcast吗?
我来猜一下好了
1. 父类别f function有加virtual, 且在子类别中定义的f参数也跟父类别中的依样
此时答案应该是polymorphism
2. 那不管在父类别中有没有加virtual, 在子类别中f的定义, 参数并没有跟父类别一样
也就是说, 在父类别中的定义跟子类别中的定义只有名称依样
此时应该是E, 会造成function hidding(请查阅effective c++)的现象.
以上 不知道对不对 XD
此外题目好像不是很完整.....S C的关系是?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.230.132
※ 编辑: saladim 来自: 122.116.230.132 (03/30 01:32)