【发布时间】:2014-09-18 11:25:21
【问题描述】:
我有一个班级 Foo。
struct Foo
{
void someFunc()
{
}
};
我有一个接口 IFoo。
struct IFoo
{
virtual void someFunc() = 0;
};
如果我不想直接将 IFoo 实现到 Foo 中,以后有办法吗?
...
一个失败的尝试是这样做: 创建一个同时实现它们的类...通过从 Foo 继承从理论上满足 IFoo。
struct Bar : Foo, IFoo
{
};
可以这样使用:
Bar x = Bar();
IFoo* y = &x;
但这没有用。编译器将 Bar 视为抽象。
请问有人有什么想法吗?没有要粘贴的实际代码问题,我只是想看看这样的事情是否可行。
【问题讨论】:
-
只是出于好奇,你为什么要这样做?还是这更像是一个理论问题?