在編程過程中,為了消除類與類的耦合,使模塊更獨立,不得不經(jīng)常使用函數(shù)指針作為回調(diào)
比如a 調(diào)用b.getinstance(),b調(diào)用a.getfirst(),兩個模塊關(guān)系綁定,無法單獨使用其中一個,作為c++的解決 方法是定義一個a的抽象基類a-base,定義一個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)())