這是我第一次在課堂上使用模板。這是我的嘗試。這種使用模板有什麼問題?
MyCairoControl.h:
#ifndef _MYCAIROCONTROL_
#define _MYCAIROCONTROL_
template<class T>
class MyCairoControl : public IControl
{
private:
T *pPlug;
public:
MyCairoControl(T *plug, IRECT container);
~MyCairoControl();
};
#endif // !_MYCAIROCONTROL_
MyCairoControl.cpp:
#include "MyCairoControl.h"
MyCairoControl::MyCairoControl(T *plug, IRECT container) : IControl(plug, container), pPlug(plug) {
// t->somethings();
}
MyCairoControl::~MyCairoControl() {
}
但它說, 「T」 是不確定的,所以我不能使用CTOR。在課堂上使用模板不正確嗎?
有些東西告訴我你會在稍後閱讀:[「爲什麼模板只能在頭文件中實現?」](https://stackoverflow.com/questions/495021/why-can- template-only-be-implemented-in-the-header-file) – WhozCraig
@paizza我已經更新了我的答案,對使用.cpp文件和模板進行簡短討論。它現在也可以工作。 – Xharlie