问题描述
我有一个类C
,它同时继承了Ai
和B
。 A
和B
无关。最好用下面的代码来解释。在main()
中,我有一个变量a
定义为std::unique_ptr<A>
,但用C
初始化。我无法更改此定义。
我的问题是,给定a
这样的定义,如何正确调用B
或C
或Ai
中定义的函数?
#include <memory>
class A
{
public:
void fun_a() {}
};
class B
{
public:
void fun_b() {}
};
class Ai : public A
{
public:
void fun_ai() {}
};
class C: public Ai,public B
{
public:
void fun_c() {}
};
int main()
{
// I cannot change the following definition:
std::unique_ptr<A> a = std::make_unique<C>();
a->fun_a();
//a->fun_b(); // How ?
//a->fun_c(); // How ?
//a->fun_ai(); // How ?
return 0;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)