相关疑难解决方法(0)

你能用C编写面向对象的代码吗?

你能用C编写面向对象的代码吗?特别是关于多态性.


另请参阅堆栈溢出问题C中的面向对象问题.

c oop object

481
推荐指数
19
解决办法
28万
查看次数

C语言中的面向对象编程

可能重复:
你能用C编写面向对象的代码吗?
C中的面向对象模式?

我记得刚才读到有人(我认为是Linus Torvalds)谈论C++是一种可怕的语言,以及如何用C编写面向对象的程序.在有时间反思的时候,我真的不知道如何所有面向对象的概念都延续到了C.有些事情是相当明显的.例如:

  1. 要模拟成员函数,可以将函数指针放在结构中.
  2. 要模拟多态性,你可以编写一个函数,它接受可变数量的参数并根据sizeof参数(例如参数)执行一些voodoo

你会如何模仿封装和继承?

我想通过使用存储私有成员的嵌套结构可以模拟封装.它可以相当容易地出现,但也许可以被命名PRIVATE或者同样明显的东西,以表明它不应该从结构外部使用.那继承怎么样?

c oop

54
推荐指数
5
解决办法
3万
查看次数

什么时候使用C作为面向对象的语言?

有很多优秀的答案如何用C模拟面向对象的概念.仅举几例:

什么时候使用这种模拟是合适的,而不是本地使用支持面向对象技术的语言?

高度相关:

c oop

5
推荐指数
1
解决办法
314
查看次数

C 怎么不是面向对象的?

可能的重复:
你能用 C 编写面向对象的代码吗?
C中的面向对象编程

所以,据我所知,“对象”基本上只是值和方法的包装器。你不能在 C 中使用structs拥有相同的功能吗?Astruct看起来就像一个简单的class,但是,当然,它没有任何方法。在这里,我们触及了我的问题的核心:我根本不明白为什么需要方法。如果我们有一个只接受指向 a 实例的指针的外部函数,岂不是更简单、更节省内存struct?或者甚至让structs 指向这些函数,但这似乎纯粹是美学......

c architecture oop struct class

1
推荐指数
1
解决办法
2986
查看次数

标签 统计

c ×4

oop ×4

architecture ×1

class ×1

object ×1

struct ×1