我对编程相当陌生(大约四个月的学习时间),我决定尝试用C语言编写一种既有趣又实用的语言,我想知道当你深入到它的时候,对象是如何实现的。
目前,我只想将我的“代码”转换为c-文件,然后编译它,所以我想采取的方法是使我的编译器将每个类-方法转换为一个函数,而对象的其余部分变成一个结构,并用函数替换对该方法的任何调用,同时从调用类方法的实例中传递适当的变量。(即将内部元素添加到参数列表中,并修改方法接受的参数数量以进行匹配。)
因此,我的问题是(忽略对象目前所做的其他事情),“这种方法有多糟糕”,即使没关系,通常的方法是什么?
发布于 2016-06-08 12:21:32
这听起来像旧的CFront编译器 --它将C++编译成C:
C++ (当时被称为"C有类“)的最初编译器是1983年前后,它将C++转换为C;开发。预处理器并不能理解所有的语言,而且大部分代码都是通过翻译编写的。C前端有一个完整的解析器,构建了符号表,并为每个类、函数等构建了一棵树。
因此,你的方法已经做了一些成功。我肯定会认为这是一种值得的技术。
发布于 2016-06-08 10:04:10
我同意罗伯特·哈维..。这是一个不错的方法。如果您希望在c++中看到一个使用不同方法的"class“设计示例,请查看X11/xview/etc https://www.x.org/wiki/guide/,以了解如何像类一样使用结构.
https://softwareengineering.stackexchange.com/questions/321670
复制