不可以的,c語(yǔ)言翻譯成匯編,函數(shù)名中不帶參數(shù)的信息,但是c++翻譯成匯編后,每一個(gè)函數(shù)的名字除了包含了函數(shù)名,還包含了函數(shù)的參數(shù)信息
目前成都創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、西豐網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
類(lèi)成員函數(shù)名相同,參數(shù)表不同,是成員函數(shù)重載的一種表現(xiàn)。但重載并不限于這一種情況。
對(duì)于類(lèi)成員函數(shù),還存在一種const重載,即同名同參數(shù)列表的函數(shù),一個(gè)有const標(biāo)識(shí),另外一個(gè)沒(méi)有。調(diào)用規(guī)則為,常對(duì)象會(huì)調(diào)用const重載,而非常對(duì)象會(huì)調(diào)用不帶const的重載。
除此外,重載并不僅限于類(lèi)的成員函數(shù),不歸屬于類(lèi)的函數(shù),包括全局函數(shù)和靜態(tài)函數(shù),所有函數(shù)都可以重載,即函數(shù)名相同,參數(shù)表不同。一個(gè)極端的例子,主函數(shù)是可以重載的,根據(jù)是否有命令行參數(shù),主函數(shù)可以重載為int main(),和int main(int, char **)兩種形式。
同一程序里,不同函數(shù)的形參可以一用。只是同一函數(shù)的形參不能相同(C語(yǔ)言里是這樣的),如void fun(int a,int b),void funb(int a,int b);這樣定義都是可以的。;但是在C++里面,有函數(shù)的重載,相同的函數(shù)名都可以有相同的形參。如 int func(int a,int b), int func(int a,int b,int c);
這不是兩個(gè)函數(shù),這是一個(gè)函數(shù),extern "C" int listid(int id, OUT *);
中的extren通知編譯器int listid(int id, OUT *)不在本源代碼中實(shí)現(xiàn),
"c"通知編譯器用C調(diào)用方式調(diào)用在另外的一個(gè)源程序的函數(shù),
C語(yǔ)言默認(rèn)的調(diào)用方式就是C調(diào)用 C++就不同了,,所以最好加個(gè)"c"
另:調(diào)用方式規(guī)定了調(diào)用的時(shí)候輸入?yún)?shù)的順序和函數(shù)返回后輸入?yún)?shù)占用的空間由調(diào)用程序釋放還是由函數(shù)釋放。這東西不一定要太懂,知道用"c"去考慮調(diào)用方式就可以了.
參數(shù)不同也是可以的,但是執(zhí)行一定會(huì)有錯(cuò)誤,而且應(yīng)該不能出現(xiàn)同名不同參數(shù)的的令一個(gè)函數(shù)。要不連接的時(shí)候就找不到正確的函數(shù)。
c語(yǔ)言沒(méi)有重載,c++有。
可以使用字符串傳遞原值和目標(biāo)值,增加類(lèi)型定義參數(shù)。
int template(char *dst, char *src,int type)
{
int i_aa=0;
double d_bb=0.0L;
switch(type){
case 0: //整型
i_aa = atof(src);
i_aa = i_aa * 10;
sprintf(dst,"%d",i_aa);
break;
case 1: //浮點(diǎn)型
d_bb = atof(src);
d_bb = d_bb - 0.05;
sprintf(dst,"%.2lf",d_bb);
break;
case 2: //字符串
sprintf(dst,"this is %s",src);
break;
default:
return src;
}
return dst;
}
函數(shù)外再處理dst了。注意長(zhǎng)度定義。
你的這種重載方式不對(duì),如果你仔細(xì)去看看重載的定義,你就會(huì)發(fā)現(xiàn)只是類(lèi)型不同的函數(shù)參數(shù)重載是不好實(shí)現(xiàn)的,編譯器不能夠識(shí)別你調(diào)用的是哪一個(gè)函數(shù)。函數(shù)的重載可以傳遞的參數(shù)個(gè)數(shù)不一致,函數(shù)返回值不一致,但是對(duì)于有相同參數(shù),參數(shù)類(lèi)型不同這種重載一般是不能實(shí)現(xiàn)的。