gpt4 book ai didi

c++ - 抽象类中的虚拟类

转载 作者:行者123 更新时间:2023-11-30 04:38:01 26 4
gpt4 key购买 nike

你好:)我想问一下,是否可以做这样的事情:

我有基类(父类)A 和其他三个类(子类)B C D在 A 类中,我有虚函数,没关系。但如果我需要虚拟类(class)怎么办?

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 等的实例。

这可能吗?我希望,你明白 :) 非常感谢你的回答。

最佳答案

这根本不可能。虚函数调用在运行时确定。类在编译时更改程序的行为。除非运行时和编译时在同一时间,即使用 JIT 或其他动态代码生成器,否则无法在运行时确定编译时。在标准 C++ 中,这是不可能的。

你可以做的是有一个基类 AB,它有一个虚函数来创建一个保证从这个基类继承的类,然后返回一个指向它的指针。

关于c++ - 抽象类中的虚拟类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3416081/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com