【发布时间】:2014-01-09 00:39:57
【问题描述】:
我看到我们可以在 ANSI C 中实现多重继承? 因为我们可以创建任何类,如
struct sampleClass {
int size;
struct sampleClass *ptr1;
};
当我试图创建类并想要实现继承时。你能给我一些想法如何实现吗?
【问题讨论】:
-
你问的是something like this吗?
-
当然可以在 C 中实现多重继承。事实上,第一个 C++ 编译器创建了由普通 C 编译器编译的 C 代码。不过事情没那么简单。
-
C 结构不是 OOP 意义上的“类”。它们只是数据字段的集合,OOP“类”也应该有方法并支持继承。你可以在 C 中实现几乎任何东西,包括任何 OOP 机制,但你必须自己做,在代码中,编译器不会为你做,所以结果会很冗长和混乱。
-
@XORcist C 带有类、这个和那个以及其他花哨的东西,那就是 C++。但两者都被认为是不同的语言。
-
也许你应该从单继承开始?如果这里有一个很好的文章,有一些实现选项和注意事项:lwn.net/Articles/444910
标签: c inheritance