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);// 添加了对新数据成

最近更新

2024-2030全球旋转堆积包装台行业调研及趋势分.. 30页

2025年体育教师教学期末工作总结 11页

2024-2030全球放射性废物监测仪行业调研及趋势.. 24页

2024-2030全球摄像直读无线远传水表行业调研及.. 28页

2024-2030全球拖拉机自动转向器行业调研及趋势.. 28页

2025年低碳环保英语演讲稿 7页

2024-2030全球房屋家装维修服务行业调研及趋势.. 31页

2024-2030全球快充防雷插座行业调研及趋势分析.. 29页

2024-2030全球微波食品容器行业调研及趋势分析.. 29页

2025年传递正能量的句子 46页

2024-2030全球弹力反光布行业调研及趋势分析报.. 31页

2025年会议总结开场白 7页

2025年手术室患者健康教育攻略 16页

2024-2030全球富马酸一钠行业调研及趋势分析报.. 37页

2025年会计档案管理员工作的述职报告 22页

2025年会计师事务所审计助理个人总结 6页

2024-2030全球安全投影灯行业调研及趋势分析报.. 30页

2024-2030全球太阳能光伏用变压器行业调研及趋.. 30页

2025年会计人员个人半年工作总结 6页

成语知识竞赛100题(附答案) 3页

羽毛球研究报告 2页

光伏工程材料分析报告 25页

2024年成语大赛题库带答案 37页

关于农房管控和乡村风貌提升(5篇) 28页

成就盛宴、广轨 98页

市场部岗位笔试题 10页

《城市公共设施规划规范》(gb50442-2015) 24页

钻井废弃泥浆无害化处置施工方案 14页

单值-移动极差X-MR控制图-模板 4页