c - 如何在 C 中创建一个数组来容纳 2 种相似类型的结构?

标签 c inheritance struct

我正在用 C 语言模拟继承,但不确定具体的方法。我创建了 2 个结构,Employee 和 Director,Director 应该从 Employee“继承”。如何创建一个既能容纳普通员工又能容纳董事的数组?这没有用:

Employee workers[3]

下面是我的 Director 结构体代码:

typedef struct {
    Employee employee;   
    int bonus;
} Director;

最佳答案

创建一个union,它可以包含 Directors 或 Employees,以及一个标志,说明您正在使用 union 的哪一部分。然后声明该 union 类型的数组。

关于c - 如何在 C 中创建一个数组来容纳 2 种相似类型的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10543915/

相关文章:

c - 如何通过 makefile 显式链接库路径

java - 使用方法重载处理违反 'Liskov substitution principle' 的类

go - 在结构中循环结构

swift - 按字母顺序排序结构(swift4)

c - 只将一个基本字段封装到 C 中的结构中有什么好处?

c - 编译器如何使用 pragma pack(1) 实现填充,为什么我们不应该使用?

c - 如何在 ARM Cortex-a8 中使用乘法和累加内在函数?

c - 为什么 scanf() 会导致此代码中的无限循环?

delphi - 如何继承TObjectList<T>而不是继承TObjectList

java - 如何强制第 3 方实现/继承类在 java 中运行泛型方法?