1 / 30
文档名称:

c,,实验报告心得.doc

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

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

分享

预览

c,,实验报告心得.doc

上传人:raojun00001 2019/5/25 文件大小:69 KB

下载得到文件列表

c,,实验报告心得.doc

文档介绍

文档介绍:c,,实验报告心得篇一:C++实验总结报告C++实验总结报告研究课题:图形编辑器一、++的一些重要性质,利用封装、继承、虚函数和多态性等特性,++、读取以及操作封装技术二、实验目的设计一个简单的图形编辑器三、实验所用仪器、设备计算机:PentiumIII800以上256M内存操作系统:Windows2000/XP开发集成环境:VisualC++、软件功能简介(注:此软件是从网上下载得来)该软件具有汉化的菜单界面(仿Windows自带画图软件),具有文件打开、编辑、保存等功能。编辑部分包括可以在编辑区域画直线、圆、矩形、曲线等矢量图形,可插入文字,可以修改线条的线型、颜色等基本属性。五、:classCDrawApp:WinApp{public:CDrawApp();//OverridesvirtualBOOLInitInstance();//Implementationprotected://{{AFX_MSG(CDrawApp)afx_msgvoidOnAppAbout();//NOTE-theClassWizardwilladdandremovememberfunctionshere.//DONOTEDITwhatyouseeintheseblocksofgeneratedcode!//}}AFX_MSGDECLARE_MESSAGE_MAP()};学****C++我们最需要理解的就是它面向对象的设计思想。这种思想可以在类和对象上得到充分的体现。类是面向对象程序设计的核心,它实际上是由用户定义的一种新的复杂数据类型。它是通过抽象数据类型ADT方法来实现的一种数据类型,将不同类型的数据和与这些数据相关的操作封装在一起形成一个集合体。因此,它具有更高的抽象性,实现了信息的隐藏和封装。对象是某种类的一个实例,是类的具体体现。一个类可以有多个对象。分析这一段代码,编程者将CDrawApp();设置为公有函数,这样做就是在整个函数的外面开了一个口,使用户可以利用这一函数处理具体问题而不必详解函数内部,是面向对象中封装特性的一个具体体现;另外,此函数中还包含了构造函数与析构函数,构造函数完成对新对象的初始化工作,析构函数是构造函数的配对物,它实现与构造函数相反的功能。另外,这段代码中还包括布尔型虚函数InitInstance(),这是函数重载,也是多态性的具体体现。由这段代码我们可以了解关于类和对象的一些知识,为我们进一步了解面向对象程序设计的思想精髓奠定了基础。::CCreateLine():m_begin(0,0),m_end(0,0){m_nStep=0;//初始化操作步为0}构造函数:C++中“类”只定义了一组对象的类型。要使用这个类还必须用“类”说明它的对象,每个对象中的数据成员还必须赋初值,这些功能都是由构造函数完成的。此造函数用初始化列表的方式对直线类的私有成员进行初始化,同时记下操作步m_nStep是直线类从指令类中继承来的成员,它在指令类中属于保护成员,在直线类中则成为私有成员。这是数据共享与数据保护两者兼顾时的一种处理方法。reateLine::~CCreateLine(){}它是构造函数的配对物,与构造函数一样是与类同名的成员函数,并在函数名前加上一个’~’以便与构造函数相区别。此析构函数中没有任何操作语句,但它并非没有任何操作。在任何一个对象消失时都要调用本类的析构函数进行扫尾工作。在构造对象时,构造函数分配资源给程序,在对象作用结束后,这些资源的释放就要靠析构函数。当然析构函数中也是可以有语句的,当需要在对象消失之前执行某种操作时,可以把语句写在里边。:DrawObj{protected:DECLARE_SERIAL(CDrawRect);CDrawRect();public:CDrawRect(constCRect&position);//添加了对新数据成员的初始化//Implementationpublic:virtualvoidSerialize(CArchive&ar);//添加了对新数据成员操作virtualvoidDraw(CDC*pDC);//根据要求画出每个图形virtualintGetHandleCount();//line和roundRectangle特殊处理virtualCPointGetHandle(intnHandle);//etHandleCursor(intnHandle);//line和roundRec