在編程過程中,為了消除類與類的耦合,使模塊更獨(dú)立,不得不經(jīng)常使用函數(shù)指針作為回調(diào)
比如a 調(diào)用b.getinstance(),b調(diào)用a.getfirst(),兩個(gè)模塊關(guān)系綁定,無(wú)法單獨(dú)使用其中一個(gè),作為c++的解決 方法是定義一個(gè)a的抽象基類a-base,定義一個(gè)b的抽象基類b-base,然后b調(diào)用a-base的接口,a調(diào)用b-base的接口,這樣很是麻煩
用函數(shù)指針就沒有這么多的活了,可以在b的構(gòu)造函數(shù)定義為 b( string (*getfirst)()),a的構(gòu)造函數(shù)a(string (*getinstance)())