PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
Re: [問題] class判斷問題
作者:
loveflames
(咕啾咕啾魔法陣)
2017-05-12 11:54:09
class implB{
public:
void f();
};
template<T>
class A:{
public:
/*
為方便理解,函數定義在class內
這樣有T的定義相依性
*/
A():p(new T){...}
void f(){p->f();}
private:
T * p;
};
class B:public A<implB>{
...
};
類似這樣做,少的部分請自己補上
作者:
cozychocolat
(chocolate)
2017-05-12 15:06:00
謝謝您 我會再試試
作者:
hunandy14
(Charlott.HonG)
2017-05-12 22:53:00
請問~這樣 implB的fun() 怎麼存取 A 的成員 傳this嗎
作者:
LPH66
(-6.2598534e+18f)
2017-05-12 23:29:00
其實可以不用分寫一個 implB 出來直接繼承 A<B> 即可, 這個寫法叫做 CRTP之所以可以不用的原因是寫 template<...> class A 的時候A 還沒有真正實體化出來, 要到 B 繼承 A<B> 時才會實體化而這時 B 已經知道是什麼東西了所以可以用
作者:
hunandy14
(Charlott.HonG)
2017-05-12 23:39:00
這樣嗎~
http://ideone.com/ocRq3h
作者:
loveflames
(咕啾咕啾魔法陣)
2017-05-13 00:24:00
原始要求是子類不要有函數
繼續閱讀
[問題] class判斷問題
cozychocolat
[問題] 應該是路徑問題!?
MOONY135
[問題] gdb中的watchpoint 使用step沒有反應
sirusi
[問題] 避免「變數名稱」衝突「class名稱」
hn12404988
[問題] 大家怎麼增進C++知識?
druid0214
[問題] 看不懂程式碼
XtendaceD
[問題] Class變數宣告有 class型態的變數
coal511464
[問題] CUDA 執行結果問題
v00623
[問題] const 修飾詞使用
XtendaceD
[問題] 關於 casting (強制轉換)
EngRookie
Links
booklink
Contact Us: admin [ a t ] ucptt.com