如何在C++中进行此派生?(当前示例不起作用)
struct IB
{
};
struct IDerivedB : public IB
{
};
struct IA
{
public:
virtual IB Foo(const string& type) = 0;
};
struct IDerivedA : public IA
{
public:
virtual IDerivedB Foo(const string& type) override = 0;
};谢谢!
发布于 2014-01-24 21:36:29
返回类型协方差仅适用于指针和引用,这应该是可行的:
struct IB
{
};
struct IDerivedB : public IB
{
};
struct IA
{
public:
virtual IB* BuildPresenter(const string& type) = 0;
};
struct IDerivedA : public IA
{
public:
virtual IDerivedB* BuildPresenter(const string& type) override = 0;
};https://stackoverflow.com/questions/21334053
复制相似问题