比方說,我們有以下幾點:添加行爲,多態對象
abstract class A;
class B : public A;
class C : public A;
....
class Main;
類主要是利用A,B和C
類,我們在類主一下面的代碼:
A obj;
....
for(i = 0; i< count; ++i)
{
obj->Abstract_Function_In_A();
}
我想改變Abstract_Function_In_A()在A類採取參數。
問題是,在基類中添加任何新的功能意味着
我必須在所有子類中實現新功能,即使有些不使用它們。
否則,它在調用時可能無法按預期工作。
有沒有人知道一個方法,以便我可以添加新的功能,而無需在所有的子類中定義它們?
如果有人在未實現它們的類的實例上調用新函數,您希望發生什麼? –
聽起來像你不想要多態性給我。 – Pubby
@DavidSchwartz,我不希望沒有實現它們的類能夠訪問新的函數。 – CaseOfInsanity