2014-11-22 275 views
0

例如,我有wxWidgets框架的應用程序。它有很多類,需要相互通信(獲取數據,調用一些程序等)。 你能告訴我一些依賴注入或在C++中不適用嗎?C++中的依賴關係

在PHP中,我可以用get(id)寫一些類,它將返回任何類型的對象。但是CPP具有很強的類型,所以一個函數可以返回單一類型的對象(超載是不是我想答案)

回答

0

你可以做一個函數與指針/引用打返回不同的類型: -

1 )在這種情況下,函數將返回基類型。

class Base; 
class Der1 : public Base 
class Der2 : public Der1 

Base* func() << It can return all objects in the heirarchy. 

2)從函數返回void *。

void* func() << It can return any type of object. 

但是在這種情況下,您需要小心使用static_cast轉換回原來的指針。

+0

MyObj * p = func(「myobj」);會自動將指針轉換爲2個變體的MyObject,究竟是什麼? – Neka 2014-11-22 11:28:35

+0

在C是的。但在C + +沒有。你必須使用明確的演員。 – ravi 2014-11-22 11:29:55