關於C 類的問題。。急,關於C 類别範本的問題。。急

2021-09-12 00:09:54 字數 711 閱讀 5298

1樓:

過載錯誤,不能區別2個過載函式

templateconst t& array::operator(size_t index) const//加上const就能區別了

//////////////////給你個例子#include

using namespace std;

class a

void fun(int b)

void fun(int b)const

};int main()

/////////

類的非靜態成員函式,編譯器預設的會在引數列表最左面加上個this指標作為引數,在方法後面加const就是修飾this指標所指向的物件的,當然就this指標就指向物件自己,所以非靜態成員方法後面加const的方法就不能改變類中成員變數的值了,

同時和非const方法相比,引數型別不同,所以也就滿足過載條件了

2樓:匿名使用者

第二個後面加上 const即可。因為不允許對參數列相同而返回值不同的情況作過載。加上const後,const修飾this,引數不同。

在前面加,修飾的是返回值;在後面加,修飾的是函式的this指標。類的每個非靜態成員函式的第一個引數都是this指標。

3樓:

一個程式執行是需要main函式的,把模板巢狀到具體程式中就可以,這個模板只不過是程式的一部分

c關於類函式返回值c關於模板類函式返回值

請問你要返回哪個類的物件?返回什麼型別就寫什麼就行了,以下寫法都是可以的 include include using namespace std template class car int main 好像在類裡都可以省略,我在dev cpp 4.9.9.2和visual studio 2012裡都...

C類例項化的問題,C類别範本例項化的問題

其實無非兩種,一種是具體化 又叫偏特化 一種是例項化 又叫全特話 對於具體化,就是 對模板的範圍進一步壓縮,並給這個更小的範圍從新定義類成員 包括資料成員和方法 對於例項化就是直接生成模板中某種例項 注意 同時給一個模板生成同一個例項化和具體化將報錯 舉例 include include inclu...

請教關於C引用型別類例項的問題

這個是肯定會影響的。為什麼要不影響?如果非要不影響的話,可以考慮用結構struct,結構是棧分配的,函式間會傳遞副本,互不影響,但資料量大時影響效率。或可使用 memberwiseclone 來生成個新的副本,但一般需要做其它操作,否則一般是淺表副本,內部的引用物件還是存在修改的可能。不影響就要用s...