題目來自劍指offer
使用c++設計乙個不能被繼承的類,
思路一:
思想:建構函式和析構函式為私有 + 新增倆方法
方法:把建構函式和析構函式設定為私有函式 + 新增倆方法建立物件和銷毀物件
原因:(1)把建構函式和析構函式設定為私有函式 :防止子類呼叫建構函式函式和析構函式,防止繼承
(2)新增倆方法建立物件和銷毀物件:為了不影響自己建立和銷毀物件,就通過靜態方法建立和銷毀物件。
**:
class sealclass
~sealclass(){}
};sealclass* sealclass::getinstance()
sealclass(int ndata);
~sealclass(){}
private:
int m_ndata;
};class drived : public sealclass
~drived(){}
};sealclass* sealclass::getinstance(int ndata)
~base(){}
};class sealclass : virtual public base
~sealclass(){}
};
測試**:
#include #include using namespace std;
class sealclass;
class base
~base(){}
};class sealclass : virtual public base
~sealclass(){}
};//class drived : public sealclass
//// ~drived(){}
//};
int main()
使用模板類:
原因:只有想讓某個類不能派生物件,就可以從該類繼承。
templateclass base
~base(){}
};class sealclass : virtual public base
~sealclass(){}
};
每日一題 46
第四十六題 定義乙個3行3列的二維陣列,從鍵盤輸入9個數的值。輸出其中最大值和最小值及其所在的行列座標。include stdio.h void main 運算 max arr 0 0 min arr 0 0 for i 0 i 3 i for j 0 j 3 j if arr i j 輸出 pri...
每日一題 46 合併果子
思路在乙個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過 n 1 次合併之後,就只剩下一堆了。多多在合併果子時總共消耗的體力等於每次合併所耗體...
每日一題 46插入區間
給出乙個無重疊的 按照區間起始端點排序的區間列表。在列表中插入乙個新的區間,你需要確保列表中的區間仍然有序且不重疊 如果有必要的話,可以合併區間 示例 1 輸入 intervals 1,3 6,9 newinterval 2 5 輸出 1 5 6,9 示例 2 輸入 intervals 1,2 3,...