![]() |
1
13
C语言中的对象定向通常使用函数指针完成。这意味着结构不仅包含实例的数据,还包含要调用的函数。 这是在C语言中进行继承和多态性的最简单方法。举个例子,这里是一个面向对象的通信示例。
它只有一种方法
可以找到更完整的答案 here . 针对您的评论: 你可能是对的。当一个类的每个实例的信息都相同时,就没有必要重复这些信息了。 有一个简单的办法。不是让每个实例都携带自己的函数指针集,而是为类创建一个包含这些指针的结构,然后每个实例都获得指向该结构的指针。 这将节省相当多的空间,代价是(最小的)必须执行两级间接寻址来调用函数。 |
![]() |
TSG · 创建定义编译器变量并调用方法的C++宏 7 月前 |
![]() |
Edward Falk · 你能比较C预处理器中的两个常量指针吗? 8 月前 |
![]() |
ma1169 · 宏:不应忽略void值 1 年前 |
![]() |
Bhargav Patil · 运算符的大小并尝试打印数组 1 年前 |
![]() |
David Robie · VIM:寄存器中填充字符断点宏的有向图 1 年前 |
![]() |
Sofia Zaiafarova · 定义宏并使用数据类型查找绝对值 1 年前 |
![]() |
Daniel Muñoz · C[重复]中类宏函数的语法 1 年前 |
![]() |
SupAl · 避免在没有宏的情况下构建对象 1 年前 |