小编典典

C中的面向对象

all

什么是一组漂亮的预处理器 hack(兼容 ANSI C89/ISO C90),它们可以在 C 中实现某种丑陋(但可用)的面向对象?

我熟悉几种不同的面向对象语言,所以请不要回答“学习 C++!”之类的答案。我已经阅读了“使用 ANSI C
进行面向对象编程
”(注意:
PDF 格式 )和其他一些有趣的解决方案,但我最感兴趣的是你的 :-)!


阅读 67

收藏
2022-08-27

共1个答案

小编典典

C 对象系统 (COS)听起来很有希望(它仍处于 alpha
版本)。为了简单和灵活,它尽量减少可用的概念:统一的面向对象编程,包括开放类、元类、属性元类、泛型、多方法、委托、所有权、异常、合同和闭包。有一份草稿文件(PDF) 对其进行了描述。

C 中的异常是在其他 OO 语言中发现的 TRY-
CATCH-FINALLY 的 C89 实现。它带有一个测试套件和一些示例。

两者都由 Laurent Deniau 撰写,他在 C 语言的 OOP
方面
做了很多工作。

2022-08-27