当我们使用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