我有一个问题,我不知道如何开始解决这个问题。 我是用C ++做的。
假设我们有一些可执行程序(UNIX平台),我们可以通过输入my_program来运行该程序。参数在这里有4个类。每个类都必须扩展类,这是用目标程序(在my_program中)编写的。
所以,让我们说在my_program中我们有A,B,C和D类。用户知道他必须扩展这个类,所以他创建了四个子类。
class A1 : public A { ... }
class B1 : public B { ... }
class C1 : public C { ... }
class D1 : public D { ... }
这可能吗? A,B,C和D类在my_program中,所以他能以某种方式扩展它们吗?
答案 0 :(得分:1)
C ++不支持这种类型的继承。其他语言,如C#允许这样做。
虽然您可以编写这种派生类,但是:
在这种情况下,您可以编写包含派生类的应用程序。这将是一个单独的二进制文件。它会将DLL / EXE加载到其地址空间中,并在需要时调用基类的方法。这是可能的,因为它们应该导出,因为第一个项目符号需要它们。