類定義如下template<class?T>
class?Queue{
public:
Queue(int?c);
private:
T?*p;
int?Capacity;
};定義一個列隊Capacity是列隊的長度main里運(yùn)用時糾結(jié)了Queue<int> *p=new?Queue(4);Queue<int> *p=new?Queue<int>(4);都報錯視頻里老師是把參數(shù)定義在<>里,用無參構(gòu)造函數(shù)定義那有參構(gòu)造函數(shù)應(yīng)該怎么調(diào)用呢?求老鳥指點(diǎn)
2 回答
已采納

onemoo
TA貢獻(xiàn)883條經(jīng)驗 獲得超454個贊
你第一種寫法?Queue<int> *p=new?Queue(4); 肯定不對。 因為Queue不是個class類型,而是class模板。模板使用時必須有確定的模板參數(shù)。
你第二種寫法沒錯啊! ?Queue<int> 這樣就確定了模板參數(shù)T,Queue<int>就算是一個模板實例類,可以正常使用。 而且?new?Queue<int>(4) 是在構(gòu)造時調(diào)用了你的構(gòu)造函數(shù),也沒有問題!(當(dāng)然你要確定你實現(xiàn)了這個構(gòu)造函數(shù))。
- 2 回答
- 0 關(guān)注
- 1354 瀏覽
添加回答
舉報
0/150
提交
取消