1樓:同學叫我神
#include
int add(int x,int y);
void add(char *s1,char *s2);
void main()
char s1[10]="abcd",s2[10]="efgh";
int a=5,b=10;
coutint add(int x,int y)
return x+y;
void add(char *s1,char *s2)char s3[20];
int i;
int j;
for(i=0;;i++)
if(s1[i]==0') break;
s3[i]=s1[i];
for(j=0;;i++,j++)
if(s2[j]==0') break;
s3[i]=s2[j];
s3[i]='0';
cout《應該這樣改吧,你那裡for迴圈裡的提交弄個i,而i被賦值為0,那條件不就是假了嗎?for迴圈怎麼可能進得去?
2樓:網友
for(j=0;;j++)
if(s1[j]==0') break;
s3[i++]s2[j];
s2這個陣列應該是從第乙個數開始算起的,你從i開始了,但是i不是0,所以得再用乙個變數,就好了。
c++重寫和過載的區別
3樓:文亮無雲
一、重扒畝伏載(overload)
指函式名相同,但是它的參數列列個數或順序,型別不同。但是不能靠返回型別來判斷。
1)相同的範圍(在同乙個作用域中)
耐衫2)函式名字相同;
3)引數不同;
4)virtual
關鍵字可有可無。
5)返回值可以不同;
二、重寫(也稱為覆蓋。
override)
是指派生類重新定義基類的虛擬函式,特徵是:
1)不在同乙個作用域(分別位於派生類與基類)2)函式名字相同;
3)引數相同;
4)基類函式必須有。
virtual
關鍵字,不能有。
static
5)返回值相同(或是協變),否則報錯;<—協變這個概念我也是第一次才知道…
6)春攜重寫函式的訪問修飾符可以不同。儘管。
virtual
是。private
的,派生類中重寫改寫為。
public,protected
也是可以的。
c 函式過載函式,C 函式過載函式
用模板做確實 更精簡,這是詳細的程式都給你寫出來了,費了很長時間,樓主給力啊!呵呵 include iostream include stdio.h using namespace std define m 10 定義要排序的陣列個數,根據需要修改 三個過載函式宣告 void menu void s...
方法過載和方法重寫的區別,java 過載和重寫的區別
其實很本質的區別就是看函式特徵 覆寫 override 的兩個函式的函式特徵相同,過載 overload 的兩個函式的函式名雖然相同,但函式特徵不同。函式特徵包括函式名,引數的型別和個數。override 是在繼承的時候,如果你寫的函式與要繼承的函式函式特徵相同,那麼,加上這個關鍵字,在使用這個子類...
C語言支援函式過載嗎?C 中函式過載有什麼用?
不支援,c裡面沒有過載這個概念。因為c不是物件導向的語言。c不支援 c 支援,因而在c 的標頭檔案中有很多因為要和c相容,extern c 的語句就是避免有些c 中可以過載的函式在c中產生衝突。c 中函式過載有什麼用?c 中函式過載有啥用?類的建構函式跟類名相同,即建構函式都同名。如果沒有函式過載機...