可用NVI模式替換virtual函式繼承方式

2021-06-25 16:44:03 字數 340 閱讀 2547

class base

private:

virtual void dofoo(){ //這個virtual是私有的

cout << "base's dofoo1" 讓基類中的函式成為public成員函式,但讓它成為non-virtual,並呼叫乙個private virtual函式,如果子類中需要重新定義則只要覆蓋函式並讓它成為子類的的private virtual,這時父類中真正呼叫的就會是子類中的private virtual函式。

優點:如果需要對某個虛函式新增一些條件,原來的虛函式繼承方式會導致每個子類都需要重新寫一遍,而現在只需要在基類中的那個non-virtual函式新增相應的規則即可

16 1 2 模式替換

函式ereg replace 和eregi replace 用於正規表示式的替換。函式eregi replace 用於非大小寫敏感的場合。它們的函式原型如下所示。string ereg replace string pattern,string replacement,string string s...

vim 替換模式

替換命令 vim提供了乙個簡單的替換命令 r命令。r命令用於替換游標所在的字元,做法是先將游標移動到需要替換的字元處,按一下r鍵,然後輸入新的字元。注意,全程無需進入插入模式,也不會進入插入模式。如果先輸入 數字 再輸入r,最後輸入新的字元,說明從當前游標的位置開始,替換 數字 個新字元。替換模式 ...

redis高可用模式到集群

正常redis是單機的,這樣的話會有乙個問題,如果機器出現問題,不能工作了,那麼redis就停止提供服務了,這對也業務來說是不可接受的,redis可提供的解決方案有哨兵 sentinel codis,cluster集群模型。目前主從同步有兩種模式,增量同步和快照同步 增量同步 1.redis講會影響...