1 / 22
文档名称:

c,,实验报告心得.doc

格式:doc   大小:47KB   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c,,实验报告心得.doc

上传人:raojun00001 2017/4/14 文件大小:47 KB

下载得到文件列表

c,,实验报告心得.doc

相关文档

文档介绍

文档介绍:c,, 实验报告心得篇一: C++ 实验总结报告 C++ 实验总结报告研究课题:图形编辑器一、实验目的 1. 熟悉 C++ 的一些重要性质,利用封装、继承、虚函数和多态性等特性,通过实验学习如何对各类图元的属性和方法进行合理的封装 2. 学习 Microsoft 的 Visual C++ 编程工具 3. 掌握 MFC 的相关知识 4. 掌握基本的文件保存、读取以及操作封装技术二、实验目的设计一个简单的图形编辑器三、实验所用仪器、设备计算机: PentiumIII 800 以上 256M 内存操作系统: Windows 2000/XP 开发集成环境: Visual C++ 四、软件功能简介(注:此软件是从网上下载得来) 该软件具有汉化的菜单界面(仿 Windows 自带画图软件) ,具有文件打开、编辑、保存等功能。编辑部分包括可以在编辑区域画直线、圆、矩形、曲线等矢量图形,可插入文字,可以修改线条的线型、颜色等基本属性。五、部分代码分析 1. 类的初始分析: class CDrawApp : public CWinApp { public: CDrawApp(); // Overrides virtual BOOL InitInstance(); // Implementation protected: //{{AFX_MSG(CDrawApp) afx_msg void OnAppAbout(); // NOTE - the ClassWizard will add and remove member functions here. // DO NOT EDIT what you see in these blocks of generated code ! //}}AFX_MSG DECLARE_MESSAGE_MAP() }; 学习 C++ 我们最需要理解的就是它面向对象的设计思想。这种思想可以在类和对象上得到充分的体现。类是面向对象程序设计的核心,它实际上是由用户定义的一种新的复杂数据类型。它是通过抽象数据类型 ADT 方法来实现的一种数据类型,将不同类型的数据和与这些数据相关的操作封装在一起形成一个集合体。因此,它具有更高的抽象性,实现了信息的隐藏和封装。对象是某种类的一个实例,是类的具体体现。一个类可以有多个对象。分析这一段代码,编程者将 CDrawApp(); 设置为公有函数,这样做就是在整个函数的外面开了一个口,使用户可以利用这一函数处理具体问题而不必详解函数内部,是面向对象中封装特性的一个具体体现;另外,此函数中还包含了构造函数与析构函数,构造函数完成对新对象的初始化工作, 析构函数是构造函数的配对物, 它实现与构造函数相反的功能。另外,这段代码中还包括布尔型虚函数 InitInstance() ,这是函数重载,也是多态性的具体体现。由这段代码我们可以了解关于类和对象的一些知识,为我们进一步了解面向对象程序设计的思想精髓奠定了基础。 2. 对构造函数和析构函数的分析构造函 reateLine::CCreateLine() : m_begin(0,0), m_end(0,0) {m_nStep = 0; // 初始化操作步为 0} 构造函数:C++ 中“类”只定义了一组对象的类型。要使用这个类还必须用“类”说明它的对象,每个对象中的数据成员还必须赋初值,这些功能都是由构造函数完成的。此造函数用初始化列表的方式对直线类的私有成员进行初始化,同时记下操作步 m_nStep 是直线类从指令类中继承来的成员,它在指令类中属于保护成员,在直线类中则成为私有成员。这是数据共享与数据保护两者兼顾时的一种处理方法。reateLine::~CCreateLine() {} 它是构造函数的配对物,与构造函数一样是与类同名的成员函数,并在函数名前加上一个’~’以便与构造函数相区别。此析构函数中没有任何操作语句,但它并非没有任何操作。在任何一个对象消失时都要调用本类的析构函数进行扫尾工作。在构造对象时,构造函数分配资源给程序,在对象作用结束后,这些资源的释放就要靠析构函数。当然析构函数中也是可以有语句的,当需要在对象消失之前执行某种操作时,可以把语句写在里边。 3. 继承和虚函数分析 class CDrawRect : public CDrawObj { protected: DECLARE_SERIAL(CDrawRect); CDrawRect(); public: CDrawRect(const CRect& position);// 添加了对新数据成员的初始化// Implementation public: virtual void Serialize(CArchive& ar);// 添加了对新数据成

最近更新

认识锐角和钝角练习作业 2页

计算机类课程教材的编写策略和层次模型 27页

乡村厂房装修合同样本3篇 58页

视觉传达设计习题及答案 7页

乐器行业居间合作协议模板3篇 52页

丽水市图书馆装修合同样本3篇 52页

行星减速机毕业设计 19页

主题公园装修合同样本3篇 58页

蒙台梭利教学法中国化的问题及对策 23页

药品基础知识试题及答案 3页

苗族服饰文化PPT学习(共77张PPT) 25页

专卖店装饰监理合同样本3篇 55页

区块链在电缆行业风险管理-洞察研究 36页

5G通信借款居间合同模板3篇 54页

4S店装修工装合同协议书3篇 50页

老年保健试题及答案 8页

绿色屋顶雨水渗透与径流控制-洞察研究 35页

精选最新版公路沥青路面施工技术管理完整考试.. 10页

疫情防控适用场所消毒消杀规范指南(2022版) 17页

现代企业管理思路分析 25页

火电厂锅炉节能减排研究论文 21页

海南小学英语演讲稿范文 5页

浅析激励理论在人力资源管理中的作用 4页

2025年长沙南方职业学院单招职业技能测试题库.. 63页

浅析国有企业人才流失的原因及对策 4页

2025年长沙电力职业技术学院单招职业技能测试.. 60页

2025年长治职业技术学院单招职业技能测试题库.. 60页

2025年闽北职业技术学院单招职业适应性测试题.. 62页

2025年阜阳幼儿师范高等专科学校单招职业倾向.. 61页

2025年阜阳职业技术学院单招职业倾向性测试题.. 61页