不能实例化抽象类什么意思

不住隔壁的老王 不住隔壁的老王 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
IMPLEMENT_DYNCREATE(COrderView, CRecordView)
问题的代码

H文件
#pragma once

class COrderSet;
class CDBSampleDoc;

class COrderView:public CRecordView
{
DECLARE_DYNCREATE(COrderView)

protected:
virtual ~COrderView(){}
virtual void DoDataExchange(CDataExchange* pDX);
virtual void OnInitialUpdate();

public:
enum{ IDD = IDD_ORDERS_FORM };
COrderSet* m_pSet;

CDBSampleDoc* GetDocument() const
{
return reinterpret_cast<CDBSampleDoc*>(m_pDocument);
}
COrderSet* GetRecordSet();
COrderView();

#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
};


CPP文件
#include "stdafx.h"
#include "DBSample.h"

#include "OrderSet.h"
#include "DBSampleDoc.h"
#include "OrderView.h"

IMPLEMENT_DYNCREATE(COrderView, CRecordView)

COrderView::COrderView()
: CRecordView(COrderView::IDD),m_pSet(NULL)
{

// TODO: 在此处添加构造代码

}

void COrderView::DoDataExchange(CDataExchange* pDX)
{
CRecordView::DoDataExchange(pDX);
// 可以在此处插入 DDX_Field* 函数以将控件“连接”到数据库字段,例如
// DDX_FieldText(pDX, IDC_MYEDITBOX, m_pSet->m_szColumn1, m_pSet);
// DDX_FieldCheck(pDX, IDC_MYCHECKBOX, m_pSet->m_bColumn2, m_pSet);
// 有关更多信息,请参阅 MSDN 和 ODBC 示例
DDX_FieldText(pDX,IDC_ORDERID,m_pSet ->m_OrderDetailsOrderID,m_pSet);
DDX_FieldText(pDX,IDC_CUSTOMERID,m_pSet ->m_OrdersCustomerID,m_pSet);
DDX_FieldText(pDX,IDC_PRODUCTID,m_pSet ->m_OrderDetailsProductID,m_pSet);
DDX_FieldText(pDX,IDC_QUANTITY,m_pSet ->m_OrderDetailsQuantity,m_pSet);

}


#ifdef _DEBUG
void COrderView::AssertValid() const
{
CRecordView::AssertValid();
}

void COrderView::Dump(CDumpContext& dc) const
{
CRecordView::Dump(dc);
}
#endif

COrderset* COrderView::GetRecordset()
{
ASSERT(m_pSet != NULL);
return m_pSet;
}

CRecordset* COrderView::OnGetRecordset()
{
return m_pSet;
}
...全文
评论 9
收藏 已收藏
分享
返回顶部
不住隔壁的老王
VC/MFC 16,550 成员 421,606 内容