你好:)我想问一下,如果有可能做出这样的事情:
我有基类(父母)A和其他三个类(孩子)B C D. 在A类中,我有虚函数,没关系。 但如果我需要一个虚拟课呢?
class A
{
public:
virtual int func1()=0;
virtual int func2()=0;
virtual class AB; // !!!!???
};
class B
{
public:
int func1();
int func2();
class AB
{
public:
....
};
};
类B C D与B类相同。现在,我想创建类实例,它应该自动将类重定向到B或C D等实例,如函数。
有可能吗?我希望,你理解:)非常感谢你的回答。
答案 0 :(得分:2)
这根本不可能。在运行时确定虚函数调用。类在编译时更改程序的行为。除非运行时和编译时是同一时间,即使用JIT或其他动态代码生成器,否则无法在运行时进行编译时确定。在标准C ++中,这是不可能的。
你可以做的是有一个基类AB,一个虚函数创建一个保证从这个基类继承的类,然后返回一个指向它的指针。