C语言是否支持继承?

Gau*_*lla 0 c

假设我们有一个带有"add(int,int)"函数的头文件"add.h",带有"subtract(int,int)"函数的"subtract.h"头文件.假设我们有一个头文件"calc.h" " 如下-:

--------------add.h-------------
int add(int a,int b)
{
     return (a+b);
}

-------------sub.h--------------
int sub(int a,int b)
{
     return (a-b);
}

-------------calc.h-------------
#include "add.h"
#include "sub.h"

------------program.c-----------
#include "calc.h"
#include stdio.h
#include conio.h

void main()
{
    printf ("%d",add(1,2));
    printf ("%d",sub(3,1)); 
}
Run Code Online (Sandbox Code Playgroud)

我们不能说它是继承的形式,其中calc.h是从add.h和sub.h继承而program.c是从calc.h继承的吗?我知道这可能是愚蠢的怀疑,但我想澄清我的怀疑?Furthur请告诉我为什么要选择面向对象的程序.而不是程序式编程?

ckr*_*use 5

不,这不是继承.这只是简单的包含.您可以使用嵌套结构模仿C中的继承,这是GTK框架的一个突出示例.但是C本身并不支持继承.

没有人说你应该更喜欢OO.这只是你的选择.许多人发现维护OO代码更容易,特别是在团队中> 2人.但你使用的是你的选择.