【发布时间】:2012-08-08 22:45:19
【问题描述】:
可以通过显式传递this 指针在C 中模拟成员函数。可以通过在每个对象中显式存储指向函数指针全局数组的指针来模拟虚函数。很好。
现在我的问题是,人们真的会这样做吗?我想知道是否值得教授这种技术,因为我不想教 C 新生在现实世界中几乎从未使用过的东西。
(我需要为已经熟悉 OOP 的人完成为期两周的 C 入门课程的最后一天。)
是否有任何相关项目、库或框架以所述方式在 C 中模拟 OO?
【问题讨论】:
-
即使它被使用了(并且afaik,它是),这是新生需要在C课程中学习的东西吗?
-
@jalf 这并不难理解。如果有人真正了解 C 的基础知识,一段时间后他最终会偶然发现这一点。他会明白的。
-
我同意jalf的观点,我认为这不是应该提早提出的东西,我个人认为根本没有必要。 Imo,如果您想编程 OO,请使用 OO 语言。但要回答您关于库的问题:查看 GLib 和 GObject。
-
@H2CO3 当然,这不难理解。但是正如您所说,一旦您了解了 C,如果需要,您将自行解决所有问题。所以我在质疑是否值得在大一 C 班上教
标签: c oop virtual-functions