[英]Arbitrary number of arguments in printf(). What is this called in C programming?
當我們使用帶有不同數量參數的printf()
時
printf("Hello");
printf("%d",a);
printf("%d%d",b,c);
為什么不將其稱為“重載”(使用具有不同任務的相同方法執行)? 如果重載,那么為什么C不被認為是一種面向對象的編程語言?
這稱為可變函數 ,而不是重載。 重載與面向對象無關。
為什么這不稱為“超載”
因為您使用的是相同的功能 :
int printf(const char *restrict format, ...);
重載的先決條件是具有不同的功能/方法,它們的名稱相同。 在這里,我們只有一個功能 ,盡管它具有varargs 功能 ,但用途非常廣泛。
面向對象的程序設計是指包括封裝,消息傳遞,繼承和多態性的范例。 換句話說,OO意味着使用被覆蓋的 virtual
函數定義一個class
。 這與重載不同, 重載是根據參數的類型在函數中執行不同的操作。
printf()
所做的既不是重載也不是重寫 。 這是一個變長參數列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.