當我們使用printf()
具有不同像printf()中任意數量的參數。這在C編程中稱爲什麼?
printf("Hello");
printf("%d",a);
printf("%d%d",b,c);
這是爲什麼不叫「超載」的參數的數目(使用同樣的方法與不同的任務進行)? 如果它是重載,那麼爲什麼C不被視爲面向對象的編程語言?
當我們使用printf()
具有不同像printf()中任意數量的參數。這在C編程中稱爲什麼?
printf("Hello");
printf("%d",a);
printf("%d%d",b,c);
這是爲什麼不叫「超載」的參數的數目(使用同樣的方法與不同的任務進行)? 如果它是重載,那麼爲什麼C不被視爲面向對象的編程語言?
這是爲什麼不叫 「超載」
因爲你使用相同的功能:
int printf(const char *restrict format, ...);
一個用於重載前提是必須有不同的功能/方法命名相同。在這裏,我們只有一個功能,雖然非常靈活,這要歸功於可變參數功能。
面向對象編程是指包含封裝,消息傳遞,繼承和多態的範型。換句話說,OO意味着定義class
與virtual
函數覆蓋。這與重載不同,後者是根據參數的類型在函數中執行不同的操作。
printf()
做什麼既不是超載也不覆蓋。這是一個可變長度的參數列表。
謝謝你的解釋..我明白不同之處它們之間... –
printf是一個函數,而不是一個方法。一個方法是一個Class的函數。類是「面向對象編程」語言的概念。 C只有結構,但你可以在C中使用面向對象的概念進行編程。 – pce
你可以通過'stdarg.h' – lightburst