是否有';类别';在C++/C#/Java来自C中的struct?

是否有';类别';在C++/C#/Java来自C中的struct?,c#,java,c++,c,C#,Java,C++,C,我很久以前就有过这种怀疑。点运算符首先在C中的struct中使用。类的概念还是基于C中的struct的类设计?事实上我非常怀疑,只是没有看到任何关于这方面的官方文件 编辑:我想问的是,创建类语法(在C++中)的想法是否来自C中的struct,而不是为什么C不是OOP语言 > P>早期版本的C++(或C类),对象直接用结构> /COD>实现。当你使用时,你可以看到它。现在可能是这样,但这取决于实现。至于语法,我相信它来自algol(但我不确定) 虽然语法有点相似,但这只是语法。“类”和“对象”的概

我很久以前就有过这种怀疑。点运算符首先在C中的struct中使用。类的概念还是基于C中的struct的类设计?事实上我非常怀疑,只是没有看到任何关于这方面的官方文件

编辑:我想问的是,创建类语法(在C++中)的想法是否来自C中的struct,而不是为什么C不是OOP语言

> P>早期版本的C++(或C类),对象直接用<代码>结构> /COD>实现。当你使用时,你可以看到它。现在可能是这样,但这取决于实现。至于语法,我相信它来自algol(但我不确定)

虽然语法有点相似,但这只是语法。“类”和“对象”的概念比C早了几年2

是在60年代开发的:

Simula是两种模拟编程语言Simula I和Simula 67的名称,这两种语言于20世纪60年代在奥斯陆的挪威计算中心开发

Simula67介绍了对象、类、继承和子类、虚拟方法、协同程序、离散事件模拟以及垃圾收集功能。Simula衍生产品中引入了亚型

Simula被认为是第一种面向对象的编程语言。顾名思义,Simula是为进行模拟而设计的,该领域的需求为当今面向对象语言的许多特性提供了框架

<> P> Simula的影响通常被低估,并且在C++、java和C语言中重新实现了Simula类型对象。C++的创建者Bjarne Stroustrup承认,Simula 67对他开发C++的影响最大。
1尽管有些概念可以用C语言模拟,但这并不意味着它起源于C结构或实现,或者是C结构或实现的结果


2 Simula 67于1968年正式标准化,而直到1972年才添加对结构的支持。事实上早期的C标准(“C编程语言”)直到1978年才发布。

C中的Struct功能要少得多。C不是一种OOP语言,在OOP世界中,结构和类共存。你读过《使用ANSI-C进行面向对象编程》一书吗??我想问的是,创建类语法的想法是否来自C中的struct,而不是为什么C不是OOP语言!当然完整回答:C出生于1972年。甚至祖先B也不早于1969年。@philippelhardy谢谢。我在答案中添加了更精确的日期。