分享
分销 收藏 举报 申诉 / 33
播放页_导航下方通栏广告

类型集合类的设计和实现MFC.doc

  • 上传人:快乐****生活
  • 文档编号:3033216
  • 上传时间:2024-06-13
  • 格式:DOC
  • 页数:33
  • 大小:469.04KB
  • 下载积分:12 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    集合 设计 实现 MFC
    资源描述:
    封 皮 (按学校规定手工填写) 课 程 设 计 任 务 书 学院 专业 学生姓名 学号 设计题目 集合类设计与实现 内容及规定: 1.理解并掌握数据构造与算法设计办法,具备初步独立分析和设计能力; 2. 初步掌握程序设计过程中构造化程序设计普通办法,及数据类型在设计中应用。 3.可以运用所学基本知识和技能,解决简朴程序设计问题; 通过类与对象设计,编制一种能演示执行集合并、交和差运算程序,规定如下: (1)集合元素限定为小写字母字符[‘a’,…,’z’]。 (2)演示程序以顾客和计算机对话方式执行。 (3)以有序链表表达集合。 (4)可进一步实现集合元素鉴定和子集鉴定运算。 进度安排: 第17周:分析题目,查阅课题有关资料,进行类设计、算法设计; 第18周:程序设计、调试与实现; 第19周:程序测试与分析,撰写课程设计报告,进行答辩验收。 指引教师(签字): 年 月 日 学院院长(签字) 年 月 日 目 录 1 需求分析 - 1 - 2 算法基本原理 - 1 - 3 类设计 - 1 - 4 详细设计 - 2 - 4.1 类接口设计 - 2 - 4.2 类实现 - 2 - 4.3 主函数设计 - 4 - 5 DOS界面程序运营成果及分析 - 5- 5.1 程序运营成果 - 5 - 5.2运营成果分析 - 5 - 6 基于MFC图形界面程序开发 - 6 - 6.1 基于MFC图形界面程序设计 - 6 - 6.2 程序测试 - 17 - 6.3 MFC程序编写总结 - 19 - 7 参照文献 - 19 - 1 需求分析 1问题描述:用有序单链表表达集合,实现集合交、并、差运算,且空间复杂度为O(1) 2基本功能:可迅速分别求出两个字符集合交、并、差。 3输入和输出: (1)输入:在C++环境下编写程序,其输入是简朴、以便,即 按提示分别输入两集合元素。 l 输入字符范畴:小写字母a,b,...,y,z,大写字母A,B,...Y,Z,和数字0,1,...8,9; l 输入形式:字符集合,按顺序大小排序输入,容许浮现重复字符,程序能自动滤去; (2)输出:程序采用单链表存储构造,使得运算快捷简便,显示成果也明了。 输出成果不含重复或非法字符; 2 算法基本原理 Setl={a,b,x,w},Set2={a,b,y,z}, Setl∪Set2={a,b,,x,y,z,w} Setl∩Set2={a,b} Setl-Set2= {x,w } 3 类设计 从上面算法分析可以看到,本设计核心是集合并,交,差运算。可以定义一种类int_set,然后由该类定义出私有和公有成员函数,为主函数执行做好铺垫 4 详细设计 整个程序分为三大块,先是类接口,定义出基类后再在类中定义出有关成员函数:接着是累实现某些,写出详细函数代码,用以执行有关功能;最后则是主函数,用一天调用各个函数并执行相应输入输出功能 4.1 类接口设计 #include<iostream.h> class int_set { private: int max_size; int cur_size; char *p; public: int_set(const int_set & a) { //必要有拷贝构造函数,由于下面以对象为返回值 max_size=a.max_size; cur_size=a.cur_size; p=new char[a.max_size]; for(int i=0;i<cur_size;i++) p[i]=a.p[i]; } int_set(int x) { cur_size=0; max_size=x; p=new char[x]; } ~int_set(){delete []p;} 4.2 类实现 int search(char x){ // 判断一种元素与否在集合中 for(int i=0;i<max_size;i++) if(p[i]==x){return 1;} return 0; } void ifsearch(char x) { if(search(x))cout<<x<<"在集合中!"<<endl; else cout<<x<<"不在集合中!"<<endl; } void add(char x) { // 增长一种整数到集合中 if(cur_size>=max_size)cout<<"集合已满,不可再添加元素!"<<endl; else if(!search(x)){ p[cur_size]=x; cur_size++; } } void dec(char x){ // 从集合中去掉一种元素 for(int i=0;i<max_size;i++) if(p[i]==x) { for(i;i<max_size-1;i++)p[i]=p[i+1]; cur_size--;} } //输入 friend istream & operator<<(istream & in,int_set & a)//注旨在类内写友元实现时不能直接使用类成员 { cout<<"请输入集合("<<a.max_size<<"个小写字母(a~z)):"; for(int i=0;i<a.max_size;i++)cin>>a.p[i];//不能直接写p[i] a.cur_size=a.max_size; return in;//in可以换别 } //输出 friend ostream & operator>>(ostream & out,int_set & a) { for(int i=0;i<a.cur_size;i++)cout<<a.p[i]<<' '; cout<<endl; return out; } int_set jiao(int_set & b )//交集 {int_set temp(max_size); for(int i=0;i<b.cur_size;i++) I if(search(b.p[i])){ temp.p[temp.cur_size]=b.p[i]; temp.cur_size++;} return temp; } int_set bing(int_set & b )//并集 { int_set temp(max_size+b.max_size); for(int i=0;i<max_size;i++)temp.p[i]=p[i]; temp.cur_size=cur_size; for( i=0;i<b.cur_size;i++) if(!search(b.p[i])){ temp.p[temp.cur_size]=b.p[i]; temp.cur_size++;} return temp; } int_set cha(int_set & b )//求差 { int_set temp(max_size); for(int i=0;i<max_size;i++)temp.p[i]=p[i]; temp.cur_size=cur_size; for(i=0;i<b.cur_size;i++) I if(temp.search(b.p[i]))temp.dec(b.p[i]); return temp; } /**/ }; 4.3 主函数设计 void main() { int_set obj1(8); int_set obj2(6); cin<<obj1; //输入集合 cin<<obj2; obj1.dec(1); //删除一种元素 cout>>obj1; obj1.add(7); //添加一种元素 cout>>obj1; obj1.add(8); //再添加一种元素 obj1.ifsearch(3); //判断元素与否在集合中 obj1.ifsearch(0); cout<<"交集为:";cout>>obj1.jiao(obj2); //求交集 /*若没拷贝构造函数,则指针被提前释放了,输出大随机数*/ cout<<"并集为:";cout>>obj1.bing(obj2); //求并集 cout<<"差 为:";cout>>obj1.cha(obj2); //差运算 } 5 DOS界面程序运营成果及分析 5.1程序运营成果 5.2运营成果分析 在程序运营过程中,前面某些必要有拷贝构造函数,由于后续需要以对象为返回值,中间某些则需要注旨在类内写友元实现时不能直接使用类成员,最后某些若没拷贝构造函数,则指针被提前释放了,会输出大随机数,则不符合题目规定。 6 基于MFC图形界面程序开发 MFC图形界面程序设计可在上述类设计基本上进行改造,MFC图形界面程序与DOS界面程序重要不同点是:MFC图形界面程序与DOS界面程序输入输出方式不同,DOS界面程序采用字符交互式实现数据输入输出,重要通过cin,cout等I/O流实现,而MFC图形程序界面采用原则Windows窗口和控件实现输入输出,因而必要在MFC类框架下加入上面所设计矩阵和方程组类,并通过图形界面输入输出改造来完毕。 6.1 基于MFC图形界面程序设计 (1)界面设计 一方面在VC中建立MFC AppWizard(exe)工程,名称为集合类,并在向导Step1中选取Dialog based,即建立基于对话框应用程 图4 建立MFC AppWizard(exe)工程 图5 建立基于对话框应用程序 将对话框资源中默认对话框运用工具箱改导致如下界面,如图6所示。 图6 方集合并交差界面设计 图6所示界面中包括了3个Edit控件,6个Button控件,控件基本信息列表如下表1所示。 控件类别 控件ID 控件Caption 阐明 Edit Box IDC_EDIT1 集合1 IDC_EDIT2 集合2 IDC_EDIT3 所求集合 Botton IDC_BUTTON1 计算交集 IDC_BUTTON2 计算并集 IDC_BUTTON3 计算差集A-B IDC_BUTTON4 计算差集B-A IDC_BUTTON6 验证集合关系 表1 控件基本信息 (2)代码设计 为了可以将对话框界面上控件可以与代码联系起来,需要为3个Edit Box控件建立Member Variables,按Ctrl+w键进入MFC ClassWizard界面,选取Member Variables选项卡,可显示成员变量设立界面,如图7所示。 图7 成员变量设立界面 通过该界面设立与3个Edit Box控件相应成员变量,详细如表2所示。 表2 控件基本信息 控件ID 成员变量类型 成员变量名称 IDC_EDIT1 String m_1 IDC_EDIT2 String m_2 IDC_EDIT3 String m_3 下面是编写代码重要阶段,可以借鉴在设计基于DOS界面控制台应用程序代码,并将其作必要改写,详细改写环节与内容如下。 1将JIHE.h文献和JIHE.cpp文献合并成一种文献,重新命名为JIHE.h,并将其加入MFC工程。 2在对话框类实现文献JIHEDlg.cpp中加入#include "Jihe.h",以实当前该文献中可使用Jihe类。 3在JIHEDlg.cpp文献中加入如下全局变量定义,以实现JIHEDlg类和JIHE类之间通信,详细代码如下:CJIHEDlg::CJIHEDlg(CWnd* pParent /*=NULL*/) :CDialog(CJIHEDlg::IDD,pParent) { //{{AFX_DATA_INIT(CJIHEDlg) m_1 = _T(""); m_2 = _T(""); m_3 = _T(""); //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } void CJIHEDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CJIHEDlg) DDX_Text(pDX,IDC_EDIT1,m_1); DDX_Text(pDX,IDC_EDIT2,m_2); DDX_Text(pDX,IDC_EDIT3,m_3); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CJIHEDlg,CDialog) //{{AFX_MSG_MAP(CJIHEDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1,Onjiao) ON_BN_CLICKED(IDC_BUTTON2,Onbing) ON_BN_CLICKED(IDC_BUTTON3,Onbu) ON_BN_CLICKED(IDC_BUTTON4,Oncha) ON_BN_CLICKED(IDC_BUTTON5,Onduichencha) ON_BN_CLICKED(IDC_BUTTON6,Onbaohan) //}}AFX_MSG_MAP END_MESSAGE_MAP() 4运营代码 BOOL CJIHEDlg::OnInitDialog() { CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu); } } // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon,TRUE); // Set big icon SetIcon(m_hIcon,FALSE); // Set small icon // TODO:Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control } void CJIHEDlg::OnSysCommand(UINT nID,LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID,lParam); } } // If you add a minimize button to your dialog,you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void CJIHEDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this);// device context for painting SendMessage(WM_ICONERASEBKGND,(WPARAM) dc.GetSafeHdc(),0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x,y,m_hIcon); } else { CDialog::OnPaint(); } } // The system calls this to obtain the cursor to display while the user drags // the minimized window. HCURSOR CJIHEDlg::OnQueryDragIcon() { return (HCURSOR) m_hIcon; } int CJIHEDlg::panduanCF() { UpdateData(1); m_3.Empty(); CString m,n; for (int i=0;i<=m_1.GetLength()/2;i++) { AfxExtractSubString(m,(LPCTSTR)m_1,i,' '); for (int j=i+1;j<=m_1.GetLength()/2;j++) { AfxExtractSubString(n,(LPCTSTR)m_1,j,' '); if(m==n) {AfxMessageBox("重复输入!");m_1="\0";m_2="\0";UpdateData(0);return 1;} } } for ( i=0;i<=m_2.GetLength()/2;i++) { AfxExtractSubString(m,(LPCTSTR)m_2,i,' '); for (int j=i+1;j<=m_2.GetLength()/2;j++) { AfxExtractSubString(n,(LPCTSTR)m_2,j,' '); if(m==n) {AfxMessageBox("重复输入!");m_1="\0";m_2="\0";UpdateData(0);return 1;} } } return 0; } 5求相应集合运算代码 void CJIHEDlg::Onjiao() { UpdateData(1); m_3.Empty(); if(panduanCF()) return; CString tem,dem; if(m_1=="\0" && m_2=="\0") {AfxMessageBox("交集为空,请输入元素");m_3="\0";return ;} else {if(m_1=="\0"||m_2=="\0") m_3="空集"; else for (int i=0;i<=m_1.GetLength()/2;i++) { for (int j=0;j<=m_2.GetLength()/2;j++) { AfxExtractSubString(tem,(LPCTSTR)m_1,i,' '); AfxExtractSubString(dem,(LPCTSTR)m_2,j,' '); if(tem==dem) { if(m_3.GetLength()==0) m_3=tem; else m_3=m_3+" "+tem; } } } } if(m_3=="\0") m_3="空集"; UpdateData(0); } void CJIHEDlg::Onbing() { UpdateData(1); m_3.Empty(); UpdateData(0); if(m_1=="\0" && m_2=="\0") {AfxMessageBox("并集为空,请输入元素");return ;} if(panduanCF()) return; if(m_1=="\0" || m_2=="\0") {m_3=m_1+m_2;UpdateData(0);return;} m_3=m_1; CString tem; CString dem; for (int i=0;i<m_2.GetLength();i++) { AfxExtractSubString(tem,(LPCTSTR)m_2,i,' '); int flag=0;//没有同样 for (int j=0;j<m_1.GetLength();j++) { AfxExtractSubString(dem,(LPCTSTR)m_1,j,' '); if(tem==dem) {flag=1;break;} } if(flag==0) m_3=m_3+" "+tem; } UpdateData(0); } void CJIHEDlg::Onbu() { UpdateData(1); m_3.Empty(); UpdateData(0); if(m_1=="\0" && m_2=="\0") {AfxMessageBox("差集为空,请输入元素");return ;} if(panduanCF()) return; if(m_2=="\0") {m_3=m_1;UpdateData(0);return;} if(m_1=="\0") {m_3="空集";UpdateData(0);return;} CString tem; CString dem; for (int i=0;i<=m_1.GetLength();i++) { int pd=1; for (int j=0;j<=m_2.GetLength();j++) { AfxExtractSubString(tem,(LPCTSTR)m_1,i,' '); AfxExtractSubString(dem,(LPCTSTR)m_2,j,' '); if(tem==dem) {pd=0;break;} } if (pd==1) m_3=m_3+tem+" "; } UpdateData(0); } void CJIHEDlg::Oncha() { UpdateData(1); m_3.Empty(); UpdateData(0); if(m_1=="\0" && m_2=="\0") {AfxMessageBox("差集为空,请输入元素");return ;} if(panduanCF()) return; if(m_1=="\0") {m_3=m_2;UpdateData(0);return;} if(m_2=="\0") {m_3="空集";UpdateData(0);return;} CString tem; CString dem; for (int i=0;i<=m_2.GetLength();i++) { int pd=1; for (int j=0;j<=m_1.GetLength();j++) { AfxExtractSubString(tem,(LPCTSTR)m_2,i,' '); AfxExtractSubString(dem,(LPCTSTR)m_1,j,' '); if(tem==dem) {pd=0;break;} } if (pd==1) m_3=m_3+tem+" "; } UpdateData(0); } void CJIHEDlg::Onduichencha() { UpdateData(1); m_3.Empty(); UpdateData(0); if(m_1=="\0" && m_2=="\0") {AfxMessageBox("对称差为空,请输入元素");return;} if(panduanCF()) return; if(m_1=="\0") {m_3=m_2;UpdateData(0);return;} if(m_2=="\0") {m_3=m_1;UpdateData(0);return;} CString tem; CString dem; for (int i=0;i<=m_1.GetLength();i++) { int pd=1; for (int j=0;j<=m_2.GetLength();j++) { AfxExtractSubString(tem,(LPCTSTR)m_1,i,' '); AfxExtractSubString(dem,(LPCTSTR)m_2,j,' '); if(tem==dem) {pd=0;break;} } if (pd==1) m_3=m_3+tem+" "; } for (i=0;i<=m_2.GetLength();i++) { int pd=1; for (int j=0;j<=m_1.GetLength();j++) { AfxExtractSubString(tem,(LPCTSTR)m_2,i,' '); AfxExtractSubString(dem,(LPCTSTR)m_1,j,' '); if(tem==dem) {pd=0;break;} } if (pd==1) m_3=m_3+tem+" "; } UpdateData(0); } void CJIHEDlg::Onbaohan() { UpdateData(1); m_3.Empty(); if(m_1=="\0"&&m_2=="\0") {AfxMessageBox("A B为空集");return;} if(panduanCF()) return; if(m_1=="\0") {AfxMessageBox("A为空集,B包括A");return;} if(m_2=="\0") {AfxMessageBox("B为空集,A包括B");return;} if(m_1==m_2) {AfxMessageBox("A B相等");return;} ////////////////////////////// CString m_4,tem,dem;//交 for (int i=0;i<=m_1.GetLength()/2;i++) { AfxExtractSubString(tem,(LPCTSTR)m_1,i,' '); for (int j=0;j<=m_2.GetLength()/2;j++) { AfxExtractSubString(dem,(LPCTSTR)m_2,j,' '); if(tem==dem) { if(m_4=="\0") m_4=tem; else {m_4=m_4+" "+tem; break;} } } } if(m_4.GetLength()==0) {AfxMessageBox("A B互斥");return;} if(m_4.GetLength()/2==m_1.GetLength()/2) {AfxMessageBox("B包括A");return;} if(m_4.GetLength()/2==m_2.GetLength()/2) {AfxMessageBox("A包括B");return;} else {AfxMessageBox("A B相交");return;} } 6.2 程序测试 运营程序后,一方面浮现界面如图8所示。 图8 程序初始运营界面 输入集合A,B,如图9所示 图9 读入数据后界面 单击交,并,差按钮显示出所求成果,如图10所示。 图10集合运算后界面 6.3 MFC程序编写总结 MFC程序与DOS界面程序编写最大不同是程序员需要将编程精力放在图形界面设计、图形界面输入输出以及界面元素和代码相应转换等问题上,而这些问题在DOS界面程序中是不存在,因而,初学MFC编程者会对此感到困难,然而,当你编写出一种基于Windows界面程序时,所获得满足限度远远不不大于简朴DOS界面程序,况且基于Windows图形界面程序设计已成为主流,作为程序员而言,是非学会不可。 本次课程设计作为编写Windows程序初步尝试,可以实现程序重要功能,可以说是获得了成功,然而好程序绝不但仅是只有功能性这一种指标,本此编写MFC程序虽然能实现所需功能,但从面向对象程序设计理念和图形界面设计规定来说,尚存在局限性,重要涉及如下几种方面。 (1)使用全局变量存储矩阵系数、方程组右端向量和解向量自身有悖面向对象程序设计理念,需要将其改进,运用局部变量和其他方式实现存储,作者以为最抱负方式是使用文献。 (2)将类定义与实现放在同一种头文献Linequ.h中也违背了面向对象程序设计理念,需要将两者分开成定义文献和实现文献。 (3)图10所示界面中对解显示没有格式化,导致界面看起来不够规范,需要对解输出进行小数点固定位数显示。 7 参照文献 [1]Bjarne Stroustrup.C++程序设计语言。特别版。裘宗燕译。北京:机械工业出版社 [2]郑莉,董渊,张瑞丰. C++语言程序设计(第3版). 北京:清华大学出版社, [3]钱能. C++程序设计教程(第二版). 北京:清华大学出版社, [4]陈志泊,王春玲. 面向对象程序设计语言—C++. 北京:人民邮电出版社, [5]李庆扬,王能超,易大义. 数值分析. 湖北:华中理工大学出版社,1986 【6】张俊,张彦铎。C++面向对象程序设计。北京:中华人民共和国铁道出版社,
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:集合类的设计和实现MFC.doc
    链接地址:https://www.zixin.com.cn/doc/3033216.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork