Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么C不支持继承?_C_Inheritance - Fatal编程技术网

为什么C不支持继承?

为什么C不支持继承?,c,inheritance,C,Inheritance,为什么C语言不支持继承的概念? 如何使用嵌套结构在C中实现继承?这是oop的概念,但您也可以在C中实现它 继承和多态性是面向对象编程语言最强大的特性。通过继承和多态性,我们可以实现代码重用 在C中实现多态性有很多棘手的方法 在C语言中,继承可以通过在派生类对象中维护对基类对象的引用来实现。在基类实例的帮助下,我们可以访问基础数据成员和函数。但是,为了实现多态性,基类对象应该能够访问派生类对象的数据。为此,基类应该具有对派生类的数据成员的访问权限 为了实现虚函数,派生类函数的签名必须类似于基类函数

为什么C语言不支持继承的概念?
如何使用嵌套结构在C中实现继承?

这是oop的概念,但您也可以在C中实现它

继承和多态性是面向对象编程语言最强大的特性。通过继承和多态性,我们可以实现代码重用

在C中实现多态性有很多棘手的方法

在C语言中,继承可以通过在派生类对象中维护对基类对象的引用来实现。在基类实例的帮助下,我们可以访问基础数据成员和函数。但是,为了实现多态性,基类对象应该能够访问派生类对象的数据。为此,基类应该具有对派生类的数据成员的访问权限

为了实现虚函数,派生类函数的签名必须类似于基类函数指针。这意味着派生类函数将基类的实例作为参数。我们在基类中维护对派生类的引用。在函数实现期间,我们可以从派生类的引用访问实际的派生类数据


检查一下

既然C没有对象,为什么它要实现面向对象语言上的概念?我认为这是一个天真但有效的问题。这是oopsDuplicate的概念:Q1:C是纯命令式语言,而不是面向对象的。问题2:重复