不允许抽象类的对象
Object of abstract class is not allowed
我有这个层次结构,我正在尝试创建一个IServer连接。但它说抽象类的对象是不允许的。
这是类,错误代码被注释。
struct IServerConnection : public CImplRingRefPtr<IServerConnection>, virtual public IRefPtr
{
virtual IServerData* CreateData(void) = 0;
virtual IServerData* Request(void) = 0;
virtual int Send(const IServerData *data) = 0;
};
struct ImplWFSConnection : public S3W::IServerConnection
{
private:
OGRDataSource *m_wfs_t;
public:
ImplWFSConnection() {}
~ImplWFSConnection() { OGRDataSource::DestroyDataSource(m_wfs_t); }
void Open(const char * url);
bool QueryLayer(const char* layer);
int Write(S3W::IWFSData *data);
S3W::CRefPtr<S3W::IWFSData> Read(void);
};
S3W::IServerConnection* ImplMapServer::OpenWFSConnection(const char *url)
{
if (!m_url)
{
return nullptr;
}
else
// connection_ptr->Open(m_url);
return new ImplWFSConnection(); /error
}
在IServerConnection
CreateData
中,Request
和 Send
是纯虚方法,在创建派生类的实例之前,必须在派生类中实现这些方法。
相关文章:
- 如何处理从一个对象传递到另一个在C++中具有公共抽象类的对象的消息
- E0322:不允许使用抽象类类型 " " 的对象
- 如何将子类作为函数的参数传递给期望基类,然后将该对象传递到指向这些抽象类对象的指针向量中?
- 从从该抽象类派生的 Python 对象强制转换C++抽象类C++
- C++ 将一组对象传递给抽象类的成员函数
- 分配抽象类类型 c++ xcode 的对象
- C++ abort() 在函数内的抽象类对象指针调用上
- 复制从抽象类派生的对象
- 分配抽象类类型为"CObject"的对象
- 错误消息:不允许抽象类类型 "X" 的对象:纯虚拟"Y"没有覆盖器
- 错误:不允许使用抽象类类型的对象
- 使用抽象类的类和实现此抽象类的创建对象
- 我在代码中有一个错误,错误是:(智能感知:不允许抽象类类型"HourlyWorker"的对象:)
- 如何在不指定模板类型的情况下声明通用抽象类的对象
- 如何返回从抽象类得出的类的对象
- 抽象类对象和纯虚拟析构函数
- 如何在 C++ 中创建抽象类的对象或数据结构?
- 不允许抽象类的对象
- 创建抽象类 C++ 的对象
- 尝试定义派生自抽象类的类类型的对象时出错