[問題] 編譯時期禁止建構子被call

看板C_and_CPP作者 (inker)時間12年前 (2013/09/04 14:23), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
問題背景: 小弟想用C/C++寫類似ODBC的抽象介面, 但發現有一些類別物件的產生方式好像並不是直接透過建構子(e.g. Statement) 而是透過另一個額外的function或其他類別method去產生。 問題: 若我想限定物件產生的方式,就限定不能透過建構子去產生。 不知道C++有沒有什麼語法可以幫我作編譯時期的檢查。 就若是不小心call到編譯器就會吱吱叫或跑個錯誤/警告出來之類的。 不過這樣的做法好像又有點違反物件導向的精神, 不知道其他語言有沒有類似的功能? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.207.74

09/04 14:24, , 1F
private: ctor();
09/04 14:24, 1F

09/04 14:28, , 2F
關鍵字~thx
09/04 14:28, 2F

09/04 14:34, , 3F
Factory Pattern and private constructor
09/04 14:34, 3F

09/04 14:39, , 4F
看到private我就懂了~thx
09/04 14:39, 4F

09/04 19:11, , 5F
singleton
09/04 19:11, 5F

09/04 19:12, , 6F
用static呼叫
09/04 19:12, 6F
文章代碼(AID): #1I9j7gGa (C_and_CPP)