Grid网格绘制需求

Grid网格绘制需求
Grid网格绘制需求

Grid网格绘制需求

1.总体界面描述:

Modeling界面是一种坐标点数据存储管理的窗口,其数据点数值可以直接通过键盘进行输入,同时可以从Excel( Text )文档根据固定格式通过复制和粘贴方式进行数据值设置。Modeling显示数据根据Geometry list窗口中选择的Component(或者Node)节点进行数据值加载,显示界面如图1-1所示:

Modelling

图1-1网格数据显示界面图

2.参数描述

详细参数见下面表1:

表1 参数列表

3.功能介绍

3.1缩放功能

缩放功能分为对整个表格的缩放功能以及对网格格点的缩放功能。

3.1.1整个表格缩放功能

用户可根据需要进行对整个表格的缩放,整个表格缩放可通过如下方式:

1.用户可以Ctrl+滚动鼠标滑轮进行整个表格中格点同比例缩放,表格随之

缩放。

2.用户可根据Ctrl + Z的进行返回上一次的缩放;

3.用户可根据某种操作返回初始表格大小

3.1.2网格格点缩放功能

用户可根据需要进行对格点放大缩小,格点大小可根据网格网络边界线进行左右拉取进行缩放,具体描述如下:

1.用户通过调整行边界线,来调整该行网格的行高;

2.用户通过调整列边界线,来调整该列网格的列宽;

3.用户可可根据Ctrl + Z的进行返回上一次的缩放;

3.2网格数据操作

网格数据操作包括数据的导入与数据的编辑操作。

3.2.1数据导入

用户可根据需要直接将所需格式的文件进行导入,网格中显示导入文件中所包含的数据。

3.2.2数据的编辑

网格数据的编辑包括对数据的添加、删除、修改、查看的操作。

1.数据的添加:

1) 用户可根据需要右键在网格的末行添加一组数据,添加后网格自动增

加一行并显示所添加的数据;

2) 用户可根据需要通过右键,在当前数据上方插入一行数据,插入成功

后,网格按照数据排列次序重新排序;

3) 用户根据需要通过右键,在当前数据下方插入一行数据,插入成功后,

网格按照数据排列次序重新排序;

4) 用户可根据需要双击激活单个单元格,使之处于可编辑状态,通过键

盘输入添加数据,添加后单元格中对应显示输入数据

2.数据的删除:

1) 可通过右键选择“删除”的操作,删除当前网格中的数据,删除后网格

中的数据置为0;

2) 用户可根据需要选中一组数据,右键选择“删除”,删除该行数据,

删除后,网格中的数据依次上移一行。

3.数据的修改:

1) 用户可以通过右键选择复制或使用CTRL+C实现当前网格(或整行)

数据的复制,通过粘贴(CTRL+V)的方法将要修改的网格中的数据

进行替换;

2) 用户可以通过双击的方法激活网格,使其处于可编辑的状态,通过

键盘输入的方法,完成修改数据的操作。

4.数据的查看:

1)当数据过多时,网格行数显示不全、列数不完全显示时,用户可以

通过上下拖拽网格右边的滚动条查看不同行数的数据;

2)网格列数不完全显示时,用户也可通过左右拖拽网格下方的滚动条

查看不同列数的数据。

5.用户可通过CTRL + Z的操作返回上一次对网格数据的编辑。

实验5 类和对象1答案

实验5:Java类与对象 一、实验目的 (1)使用类来封装对象的属性和功能; (2)掌握Java类的定义。 (3)java对象的使用 二、实验任务 (1)按要求编写一个Java程序。 (2)按要求完善一个Java程序,编译、运行这个程序,并写出运行结果。 三、实验内容 1.编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。 2.为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。编写一个Java Application程序,创建Student类的对象,并验证新增加的功能。 class Student{ long studentID; int classID; String name; String sex; int age; public Student(long studentID,int classID,String name,String sex,int age){ this.studentID=studentID; this.classID=classID; https://www.360docs.net/doc/1d7760930.html,=name; this.sex=sex; this.age=age; } public long getStudentID(){ return studentID; } public int getClassID(){

C++实验报告 类和对象(2)

福建师范大学实验报告 课程:C++ 实验名称:类和对象二第 1页共 5页 系别:实验日期年月日 专业班级:组别_____________ 实验报告日期年月日 姓名:学号:报告退发 ( 订正、重做 ) 同组人_________________________________ 教师审批签字 一、实验题目:实验九类和对象(二) 二、实验环境: 三、实验目的 (1)进一步加深对类和对象的理解。 (2)掌握类的构造函数和折购函数的概念和使用方法。 (3)掌握对对象数组,对象的指针及其使用方法。 (4)掌握友元的概念和使用。 (5)了解类模板的使用方法。 四、实验内容 (1)有以下程序: 1、阅读此程序,分析其执行过程,然后上机运行,对比输出结果。 2、修改上面的程序,增加一个fun函数,改写main函数,在main函数中调用fun函数,在fun函数中使用对象的引用(Student&)作为形参。 (2)商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售

时灵活掌握售价(price),在此基础上,对一次购10件以上者,还可以享受9.8折优惠。现已知当天3个销售员销售情况为: 销售员号(num)销售件数(quantity)销售单价(price)101 5 23.5 102 12 24.56 103 100 21.5 请编程序,计算出当日此商品的总销售款sum以及每件商品的平均售价。要求用静态数据成员和静态成员函数。 (3)有以下程序: 请读者分析和运行此程序,注意友元函数Time::display的作用。将程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在Time和Date两个类的对象的私有数据,输出年、月、日和时、分、秒。 修改后上机调试和运行。

实验报告_实验5 类与类关系与抽象类(学生学号_姓名)

实验报告_实验5类与类关系与抽象类(学生 学号_姓名) 一、实验目的 1.理解继承的概念,掌握子类的创建方法; 2.熟悉成员变量的隐藏和方法覆盖; 3.掌握使用super访问被隐藏、覆盖的基类变量与方法; 4.理解继承的层次结构,熟悉构造方法的执行顺序; 5.理解访问修饰符的作用,熟悉访问修饰符对子类继承性的影响; 6.熟悉子类对象向上转型的实现方法和Object类的基本用法; 7.理解多态种类、意义、实现条件及基本应用; 8.理解内部类的作用、种类、实现方法及注意事项; 9.理解类与类之间的关系,了解单例模式的实现机理; 10.理解抽象类、抽象方法概念,熟悉它们的声明、使用。 二、实验内容与步骤 1.(基础题)根据题意及注释补充所缺少代码,然后运行程序 public Student(){} public Student(String sno, String sname, int age) { this.sname=sname; this.sno=sno; this.age=age; } public String getSno() { return sno; } public void setSno(String sno) { this.sno = sno; } public String getSname() { return sname;

} public void setSname(String sname) { this.sname= sname; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } (1): class CollegeStudent extends Student (2): getSno() (3): getSname() (4): getAge() (5): major (6): student.setAge(26) (7): student.setSname("Jack") (8): cstudent.setSname("Jerry") (9): cstudent.setSno("1840700101") (10): cstudent.setAge(23) (11): cstudent.setMajor("物联网工程") 回答相关问题: (1)程序中有多少个类,哪个是主类?哪个是基类?哪个是子类? (2)程序中子类继承了基类哪些成员?基类对象如何给成员赋初值?子类对象又是如何给成员赋值? (3)是否可以不定义Student类的无参构造器? 2.(基础题)分析、运行以下程序,并回答相关问题: (1)分析程序,找出有问题的代码,请问出错原因是什么?

实验:类和对象1

实验一:类和对象 【实验目的】 1.理解对象和类,掌握类的定义及如何创建一个对象; 2.掌握构造方法的运用; 3.掌握方法的定义和参数传递; 4. 掌握类的继承机制。 【实验准备】 一、复习配套教材相关章节的内容; 二、预习本次实验; 【实验内容】 1.编写一个程序,显示水果的定购行情。定义一个带有参数的构造方法,这些参数用于存放产品名,数量和价格。在主程序中输出三种不同的水果。package avage; public class text { String name; int agr; double page; public text(){ } public text(String name,int agr,double page){ https://www.360docs.net/doc/1d7760930.html,=name; this.agr=agr; this.page=page; } public void evagre(){ System.out.println("水果名为:"+https://www.360docs.net/doc/1d7760930.html,); System.out.println("水果数量:"+this.agr); System.out.println("水果单价:"+this.page); } } public class text1 { /** * @param args

*/ public static void main(String[] args) { // TODO Auto-generated method stub text s=new text(); https://www.360docs.net/doc/1d7760930.html,="苹果"; s.agr =10; s.page=1.0; s.evagre(); text c=new text(); https://www.360docs.net/doc/1d7760930.html,="香蕉"; s.agr =10; s.page=1.0; s.evagre(); text d=new text(); https://www.360docs.net/doc/1d7760930.html,="橘子"; s.agr =10; s.page=1.0; s.evagre(); 2. 编写一个学生类,封装学生的学号、姓名、成绩等信息。再编写一个主类,

实验5 类和对象

类和对象 一、实验目的 1、掌握类的定义和对象的创建; 2、掌握构造方法的作用、格式及重载; 3、掌握修饰词对成员存取权限的限制。 4、掌握实例成员、类成员的定义和使用方法。 二、实验内容 1、定义储蓄账户类,并创建对象模拟银行基本操作。 2、两游戏角色决斗。给定二个不同的角色,判定交手的胜负关系。(选做) 3、设计学生类、学校类、录取类,根据学生成绩和学校分数线,判断是否录取。 三、实验步骤 说明:请将第3题代码写入实验报告实验步骤处。 1、模拟银行账户功能。 编写程序,模拟银行账户功能。要求如下: 属性:账号、姓名、地址、存款余额、最小余额。 方法:存款、取款、查询。 根据用户操作显示储户相关信息。 如存款操作后,显示储户原有余额、今日存款数额及最终存款余额。 取款时,若取款成功,显示信息提示;若最后余额小于最小余额,拒绝取款,并显示信息提示。具体显示信息可据方便性原则自拟。 2、两游戏角色决斗。(选做) 角色1交手次数+1,生命值-1,经验值+2;角色2交手次数+1,生命值-2,经验值+3。经验值每增加50时,生命值+1;生命值<0判为负。生命值初始为1000,经验值初始为0。给定二个不同的角色,判定交手的胜负关系。 提示: step1:建立角色类,给出相应的成员,并能以生命值、经验值初始化角色对象。 step2:建立fight方法,接收二个角色类型的参数,返回胜者。 step3:初始化二角色,调用fight方法。 3、根据分数录取学生。 设计一个学校类,其中包含成员变量line(录取分数线)和对该变量值进行设置和获取的方法。 编写一个学生类,它的成员变量有考生的name(姓名)、id(考号)、total(综合成绩)、sports(体育成绩)。它还有获取学生的综合成绩和体育成绩的方法。 编写一个录取类,它的一个方法用于判断学生是否符合录取条件。其中录取条件为:综合成绩在录取分数线之上,或体育成绩在96以上并且综合成绩大于300。在该类的main()方法中,建立若干个学生对象,对符合录取条件的学生,输出其信息及“被录取”。 四、实验记录与分析(可自拟或选择) 1、重载的构造方法具有不同个数或不同类型的参数,编译器就可以根据这一点判断出用new 关键字产生对象时,该调用哪个构造方法了。 2、每个对象拥有各自的实例成员变量,而所有对象共享一个类成员变量。 3、实例成员变量通过对象引用,类成员变量通过类或对象名访问。

实验报告_实验3 类与对象

实验报告_实验3 类与对象(学生学号_姓 名) 一、实验目的 1.熟悉类的组成,掌握类的声明方法; 2.理解构造方法的作用,并掌握构造方法的定义; 3.熟练使用访问器和设置器实现信息隐藏和封装; 4.熟悉一般方法、构造方法的重载; 5.能够正确地区分静态变量与实例变量、静态方法与实例方法的不同,掌握静态变量和静态方法的使用;6.掌握对象的创建、引用和使用及向方法传递参数的方式; 7.掌握this关键字的使用以及对象数组的创建和访问; 8.掌握Java包的创建、包成员的各种访问方式; 9.掌握一维数组:声明,创建,初始化,数组元素的访问; 10.掌握多维数组的概念:二维数组的声明,初始化,元素的访问。 二、实验内容与步骤 1.请回答下列问题: (1)Cirecle类定义了几个属性?它们的类型、访问权限各为什么? 答:两个PI,floatl类型,静态私有权限 Radius,float;类型,私有权限 (2)类中的“PI”的值可以在程序的方法中更改吗? 答:不可以,因为PI为静态变量 (3)Cirecle类定义了几个方法?它们的访问权限怎样?

答:四个,getRadius(),setRadius(float radius),getPerimeter(),getArea()都是公有权限 2.写出Rectangle类的程序代码: class Rectangle { private float width; private float length; public float getWidth( ) //获取矩形宽度 {return width;} public float getLength( ) //获取矩形长度 {return length;} public float getPerimeter( ) //获取矩形周长 {return 2*(width+length);} public float getArea( ) //获取矩形面积 {return (width*length);} public void setWidth(float w) //设置矩形宽度 {width=w;} public void setLength(float l) //设置矩形长度 {length=l;} } 3.回答下列问题: (1)该程序中有几个类?主类是什么?如果将这两个类放在一个文件中,源程序文件名应是什么?答:两个类:Circle、CircleTest;主类是CircleTest;源程序文件名是CircleTest。

实验五类与对象

实验五类和对象(一) 一、目的和要求 1 掌握类和对象的定义和使用方法 2 掌握对象的初始化方法 3 掌握定义构造函数和析构函数的方法 4 掌握静态成员和友元函数的用法。 上机准备 (1)复习教材第五章类与对象的内容 (2)准备本次上机所需的程序。 程序一(test5_2.cpp)的题目为:编写一个程序,采用一个类求n!,并输出5!的值. 程序二(test5_3.dsw))的题目为:建立一个类SUM,求二维数组外围各元素的和,并且屏幕输出数组中各元素及所求之和。具体要求如下: (1)私有数据成员。 ●int array[5][5]:二维整型数组。 ●int s: 数组array各外围元素的和。 (2)公有成员函数。 ●SUM(int d[5][5]):构造函数,初始化成员数据。 ●void process():求二维数组外围各元素的和s. ●void print ()屏幕输出二维数组(每行输出5个元素)及外围元素之和。 (3)在主程序中对该类进行测试。使用如下数据(外围元素指阴影部分元素。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 二、内容与步骤

1.启动Visual C++6.0 2、录入test5_1.cpp源程序。 程序内容如下: #include class T { public: T(int i) { t=i; cout<<"T(int"<

C++语言程序设计实验答案_类与对象

实验04 类与对象(6学时) (第4章类与对象) 一、实验目的 二、实验任务 4_1 声明一个CPU类。 包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,声明为enum CPU_Rank{ P1=1, P2, P3, P4, P5, P6, P7 }; frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 4_2 声明一个简单的Computer类。 有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数run和stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,声明并实现这个类。 4_3 声明一个表示时间的结构体。 可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。

4_4(习题4-10)设计一个用于人事管理的People(人员)类。 考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号),sex(性别)、birthday(出生日期)、id(身份证号)等。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现人员信息的录入和显示。要求包括:构造函数和析构函数、内联成员函数、组合。 三、实验步骤 1.(验证)声明一个CPU类,观察构造函数和析构函数的调用顺序。 首先声明枚举类型CPU_Rank,例如enum CPU_Rank{ P1=1, P2, P3, P4, P5, P6, P7 },再声明CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,声明成员函数run和stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示顺序。在主程序中声明一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名:。(程序见步骤2) ★程序的运行结果: 2.(示例)调试程序文件。 使用调试功能观察程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。参考程序如下: 操作)调试操作步骤如下: (1)单击“调试 | 逐语句”命令,系统进行单步执行状态,程序开始运行,一个DOS 窗口出现,此时Visual Studio中光标停在main()函数的入口处。

国家公共地理框架数据电子地图数据规范 试行稿 版

国家地理信息公共服务平台 公共地理框架数据—————————————————————— 电子地图数据规范 (试行稿-20100921版) 国家地理信息公共服务平台总体技术组

目录 前言 (3) 1.范围 (4) 2.引用标准 (4) 3.电子地图数据的定义 (4) 4.电子地图数据的数学基础 (4) 5.电子地图数据集定义 (4) 5.1.矢量数据集 (5) 5.1.1.基础专业级 (5) 5.1.2.政务应用级 (5) 5.1.3.影像标记级 (5) 5.2.影像数据集 (7) 6.地图瓦片定义 (7) 6.1.瓦片规则 (8) 6.2.瓦片数据格式 (8) 6.3.金字塔规则 (8) 6.4.瓦片文件组织 (9) 7.地图表达定义 (10) 附录A(资料性附录)要素内容选取 (11) 附录B(资料性附录)符号与注记 (16) 参考资料 (68)

前言 为应对国家信息化环境中政府部门和社会大众对地理信息在线服务的迫切需求,国家测绘局做出了建设国家地理信息公共服务平台(以下简称“公共服务平台”)的战略性决策。“公共服务平台”由数据层、服务层和运行支持层组成。其中数据层是“公共服务平台”的建设重点之一,其主体内容是公共地理框架数据,包括地理实体数据、电子地图数据、地名地址数据、影像数据与高程数据。 本规范由国家测绘局地理信息与地图司提出。 本规范起草单位:国家基础地理信息中心

1.范围 本规范规定了公共地理框架数据中电子地图数据的定义、分级内容组合方案、地图瓦片制作及在线发布显示设定要求、地图表达符号与注记等。 2.引用标准 GB/T 13923-2006 《基础地理信息要素分类与代码》 3.电子地图数据的定义 电子地图数据是针对在线浏览和专题标图的需要,对矢量数据、影像数据进行内容选取组合所形成的数据集,经符号化处理、图面整饰、分级缓存后形成重点突出、色彩协调、符号形象、图面美观的视屏显示地图。 电子地图数据类型包括线划地图与影像地图两类。线划地图以矢量基础地形要素数据为主要数据源,经过数据分级与可视化设置而成;影像地图以航空、航天遥感影像为基础,并配以矢量线划和适量注记。 除此之外,数据生产者可根据其实际情况与需求制作扩展电子地图,如各类旅游图、人口图、房地产图等。 4.电子地图数据的数学基础 (1)坐标系统:2000国家大地坐标系(CGCS2000)。 (2)坐标单位:度。 5.电子地图数据集定义 构成线划地图与影像地图的矢量及影像数据需要针对在线显示的要求进行

Visual C++ 6.0实验五类和对象、继承和派生

上海电力学院 实验报告 课程名称Visual C++ 实验项目类和对象、继承和派生 姓名储昊学号20132234 班级2013112 专业通信工程 同组人姓名指导教师姓名实验日期 实验内容 程序Ex_Class:定义一个人员类CPerson,包括的数据成员有姓名、编号、性别和用于输入/输出的成员函数。在此基础上派生出学生类Cstudent(增加成绩)和教师类Cteacher(增加教龄),并实现对学生和教师信息的输入/输出。编写一个完整的测试程序,并将Ex_Class 所有的类定义保存在Ex_Class.h中,将类的成员函数实现代码保存在Ex_Class.cpp中。 实验准备和说明 (1)在学习完第2章的“继承和派生”内容之后进行本次试验。 (2)编写本次上机所需要的程序。 实验步骤 1.创建工作文件夹 打开计算机,在“D:\Visual C++程序\LiMing\5”文件夹中创建一个新的子文件夹“5”。 2.输入程序Ex_Class.h (1)启动Visual C++6.0。 (2)单击标准工具栏上的“New Test File”按钮,在新打开的文档窗口中输入下列程序代码: #include #include class CPerson { public: CPerson() { strcpy(pName,""); strcpy(pID,""); } CPerson(char*name,char*id,bool isman=1) { Input(name,id,isman);

} void Input(char*name,char*id,bool isman) { setName(name); setID(id); setSex(isman); } void Output() { cout<<"姓名:"<

C++面向对象程序设计实验五 类与对象之三

C++面向对象程序设计实验五类与对象之三 一、实验目的 1、掌握C++类的概念和基本组成。 2、掌握类的声明和使用方法,并能根据实际定义相应的类。 3、熟悉友元函数和友元类的定义与使用方法。 4、掌握静态成员的定义与使用方法。 5、掌握this指针的使用方法。 二、实验内容 1、阅读下面程序,先在纸上写出输出结果,再运行程序核对笔算结果,并说明原因。 (1) #include // 编译预处理命令 using namespace std; // 使用命名空间std class Test { private: int a; // 数据成员 public: ~Test() { cout << "对调用默认构造函数的对对象进行析构" << endl; } // 析构函数 void set(int value) {a=value;} void show() {cout << a << endl;} };

int main() // 主函数main() { Test d; // 定义对象 d.set(7); d.show(); return 0; // 返回值0, 返回操作系统} (2) #include // 编译预处理命令 using namespace std; // 使用命名空间std class Test { public: static int a; // 静态成员 void Init() {a = 1; } // 初始化函数 Test(int a=6) {Init(); a++;} // 构造函数 }; int Test::a = 0; // 初始化a Test obj; // 定义全局对象 int main() // 主函数main() { cout << obj.a << endl; // 输出a return 0; // 返回值0, 返回操作系统}

实验5-类和对象题目

实验5 类和对象 程序填空 1. 题目描述:仔细阅读下列求两个点之间距离的程序,程序的输出结果是50,根据程序的输出结果在划线处填入正确语句。 代码: #include #include using namespace std; class point { public: point(float a,float b) { x=a; y=b; } float Distance(point &p) { float dx=p.x-x; float dy=p.y-y; return (float)sqrt(dx*dx+dy*dy); } private: float x,y; }; int main() { point p1(2,3),p2(32,43); cout< using namespace std; class CRectangle { public: void Set(float a,float b) { if((a>0)&&(a<50)) length=a; else length=1; if((b>0)&&(b<50)) width=b;

C++实验二类与对象(附答案)

实验二类与对象 实验目的和要求 1.掌握类、类的数据成员、类的成员函数的定义方式。 2.理解类成员的访问控制方式。 3.掌握对象的定义和操作对象的方法。 4.理解构造函数和析构函数的定义与执行过程。 5.掌握重载构造函数的方法。 6.了解拷贝构造函数的定义方法。 实验容 1.下面程序中有错,在不删除和增加代码行的情况下,改正错误语句,使其正确运行。#include class Aa { public: Aa(int i=0) { a=i; cout<<"Constructor "<

(1) #include class Date { void set_date(); void show_date(); int year; int month; int day; }; Date d; int main() { set_date(); show_date(); } void set_date() { cin>>d.year; cin>>d.month; cin>>d.day; } void show_date() { cout< class A { public: void A(int i=0) { m=i; } void show() { cout<

GIS基本要求(电子地图)

●GIS基本显示 矢量图和栅格图叠加显示 通过GIS能够分别显示矢量图、影像图以及矢量图和影像图叠加和组合显现,丰富用户的使用观感。 1.矢量地图的展现 根据国家警用地图标准规范,同时结合交警业务的需要,进行图层的划分和处理。通过ArcGIS桌面组件,进行图层加载显示。对各图层采用合理、美观的配色。 2.影像地图的展现 采用航拍图或卫图的原始图片,按照一定的逻辑进行图片的切分并存储到本地。系统通过图片拼接算法,结合影像图片自带的投影等地里属性信息,进行影像展现。并且与矢量地图能够无缝地结合。 3.矢量地图、遥感影像地图结合展现 在业务应用上是一种互补,使信息展示更直观。以下是展示示例: 图错误!未找到引用源。-1 矢量图与遥感影像图 分层显示控制 能够按照GIS系统配置的地图配置信息读取指定的地图数据文件,并按地图

配置信息分不同的颜色、层次、标志文字进行显示。 4.地图分层 地图分为若干层,每层显示不同信息内容。分层包括:道路标线层、路口路段交通设施层、重要场所层、各级公安警力分布层、交通流量层、治安卡口地点层、事故多发地点层、违章多发地点层、实时路况信息层、社会服务部门分布层等。 5.显示信息 显示信息分为静态信息、动态信息两类,可显示栅格图像。 6.图层控制 可控制地图数据层的显示状态,决定指定图层是否显示。同时,可对图层的属性信息进行查询和设置,包括可视、可查询、可选择、标注、最大地图比例、最小地图比例、最大标注比例、最小标注比例等属性。 文字标注显示 用户可按照图层进行文字标注,同时可根据需要打开或关闭某一图层的文字标注。 地图书签管理 地图显示区域可以通过地图书签来定义。地图书签是为了防止地图显示变得混乱,可以通过书签恢复到原来的显示区域和显示风格。 用户可根据需要设定当前地图窗口的显示的范围,新建书签分组,可新建书签并添加书签在某个分组下,也可删除地图书签,同时可导入辖区地图书签。 鹰眼索引 鹰眼地图显示地图的全景图,用户可点击鹰眼图直接到达需要进行操作的地图显示范围,鹰眼图可选择关闭。

内蒙古科技大学面向对象的程序设计实验5 类和对象(二)

内蒙古科技大学 面向对象的程序设计 实验报告 一、实验目的 1.理解掌握this指针的作用和用法; 2.理解掌握构造函数的定义和作用; 3.掌握构造函数的使用; 4.理解掌握拷贝构造函数的定义和使用; 5.理解掌握构造函数的重载; 6.理解掌握析构函数的定义和使用。 二、实验环境 编译器:Visual C++ 6.0. 操作系统:Windows 7 旗舰版 三、实验内容 2.1练习(一): 1.理解下面的程序,并在VC++6.0下运行查看结果,回答程序后面的问题。 #include class CPoint { public:

void Set(intx,int y); void Print(); private: int x; int y; }; void CPoint::Set(intx,int y) { x = x; y = y; } void CPoint::Print() { cout<<"x="< class CPerson { public: void Print(); private: CPerson(); private: int age; char *name; }; CPerson::CPerson() { } void CPerson::Print() { cout<<"name="<

实验5(1) 参考答案

实验5(1) 类的组合 参考答案 一、实验目的与实验要求 (1)理解类组合的概念与作用。 (2)掌握对象成员的定义方法,理解对象成员的构造与析构方法。 (3)理解组合后类的构造函数与析构函数的调用次序。 (4)掌握对象成员中私有成员和保护成员的访问方法。 二、实验内容 题目1:对象成员的定义、构造与访问。 定义三个类Member1、Member2和New。Member2中包含有Member1类型的成员,New中包含有Member1与Member2类型的成员。程序的具体要求如下。 ①在Member1类中,它含有一个int型私有数据成员x以及三个公有成员函数。三个成员函数分别为构造函数、析构函数与显示函数show( )。show( )函数的作用是输出x的值。 ②在Member2类中,它含有三个私有数据成员,分别是Member1型的对象obj1、obj2与int型的数据y。此外,它还含有三个公有成员函数,分别是构造函数、析构函数与显示函数show( )。show( )函数的作用是输出y的值。 ③在New类中,它含有三个私有数据成员,分别是Member1型的对象m1、Member2型的对象m2与int型的数据z。此外,它还含有三个公有成员函数,分别是构造函数、析构函数与显示函数show( )。show( )函数的作用是输出z的值。 ④main( )函数中定义一个New型的对象,并调用show( )函数。 程序为: #include using namespace std; class Member1 { public: Member1(int a) { x = a; cout << "constructing Member1 " << x << endl; } ~Member1( ) { cout << "donstructing Member1\n"; } void show( ) { cout << "Member1 x = " << x << endl;

面向对象程序设计实验项目

实验一 C++面向过程练习(一) (2学时) ? 实验目的和要求: 1. 掌握C ++程序的基本格式与规范,学会编写简单的C ++程序。 2. 理解C ++程序的结构和特点。 3. 熟悉C ++程序基本的输入和输出操作。 4. 掌握C ++数据类型、常量和变量以及修饰符的使用方法。 5. 掌握C ++的各种流程控制语句的使用。 6. 熟悉C ++语言实验环境,能够在VC6.0或BC3.0的环境下调试与运行程序。 ? 实验内容: 1. 求解方程02=++c bx ax 在复数域上的解,a,b,c 由终端输入。注意分析的全面性。 2. 用!1!21!111n e ++++≈ ,求e 之值,直到610! 1-

c++类和对象实验报告

实验一类和对象 实验课程名:面向对象程序设计(C++) 专业班级:学号:姓名: 实验时间:实验地点:指导教师: 一、实验目的和要求 (1) 理解类和对象的概念,掌握声明类和定义对象的方法。 (2) 掌握构造函数和析构函数的实现方法。 (3) 初步掌握使用类和对象编制C++程序。 (4) 掌握对象数组、对象指针和string类的使用方法。 (5) 掌握使用对象、对象指针和对象引用作为函数参数的方法。 (6) 掌握类对象作为成员的使用方法。 (7) 掌握静态数据成员和静态成员函数的使用方法。 (8) 理解友元的概念和掌握友元的使用方法。 二、实验内容 1.设计一个静态数组存储结构的顺序表类,要 求编程实现如下任务:建立一个线性表,首先 依次输人数据元素1,2,3,…,10,然后删除 数据元素6,最后依次显示当前线性表中的数 据元素。要求采用顺序表实现,假设该顺序表 的数据元素个数在最坏情况下不会超过50个。实验代码:#include using namespace std; const int MaxSize=100; //100只是示例性的数据,可根据实际问题具体定义 template //定义模板类SeqList class SeqList { public:

SeqList( ) {length=0;} //无参构造函数 SeqList(T a[ ], int n); //有参构造函数 ~SeqList( ) { } //析构函数为空 int Length( ) {return length;} //求线性表的长度 T Get(int i); //按位查找,取线性表的第i个元素 int Locate(T x ); //按值查找,求线性表中值为x的元素序号 void Insert(int i, T x); //在线性表中第i个位置插入值为x的元素 T Delete(int i); //删除线性表的第i个元素 void PrintList( ); //遍历线性表,按序号依次输出各元素 private: T data[MaxSize]; //存放数据元素的数组 int length; //线性表的长度 }; template SeqList::SeqList(T a[ ], int n) { int i; if (n>MaxSize) throw "参数非法";

实验五类的继承与派生

第一节类的继承与派生 一、基本概念 继承是面向对象程序设计的一个特性,所谓继承就是在已有类的基础上创建新的类,新类可以从一个或多个已有类中继承成员函数或数据成员,而且新类还可以重新定义或加进新的数据和函数。其中,已有类称为基类或父类,新类称为派生类或子类。 在现实世界中许多事物都具有继承性。例如:“汽车”这个类中包括了许多类型,有运输汽车、专用汽车;运输汽车中又包括客车、货车…….;专用汽车中又包括巡逻车、消防车、救护车……..;所有这些类型的车都具有汽车的共同特性即都有发动机、车身、轮胎等共性,还都是自行驱动的。 而客车和货车又有所不同,客车用来载客,货车用来拉货,它们有自己不同于其它车的特性,这就是继承。我们把汽车称为基类,把运输汽车、客车、货车称为派生类。通过继承,派生类不仅拥有了基类的属性和行为,而且具有不同于它类的自己的特点。 二、派生类的定义与构成 当你去水果店买水果的时候,你经常会发现很多同类水果又有了新的品种。比如,“李子”既小又涩,嫁接在梨树上后长出来的李子却硕大、香甜、清脆,比没有嫁接的李子好吃,但它还是李子家族中的一员;所以,可以认为“嫁接李子”是从“李子”中派生出来的。当然,可以把“李子”嫁接在梨树上,也可以嫁接在苹果树上,结出来的都是“李子”,但是各自味道不同。 所谓派生就是从已有类中产生一个新的子类。 基类就是已存在的可以派生新类的类,如下图中的A、D、E都是基类。 派生类就是由基类派生出来的新类,如下图中的B、C、F都是派生类。

1. 单继承派生类的定义格式 class <派生类名> : <继承方式> <基类名> { 派生类成员的定义; }; 其中,“派生类名”是新定义的一个类的名字,它是从“基类名”中派生的,并且按指定的“继承方式”派生。 例如: class peach 多继承派生类的定义格式 class <派生类名> :<继承方式1> <基类名>,<继承方式2> <基类名>, ……. { 派生类成员的定义; }; 多继承与单继承在定义格式的区别仅在于它们的基类个数不同,单继承的基类只有一个,而多继承的基类有多个,相邻两个基类之间用逗号间隔,每个基类名前都应有一个该基类的继承方式的说明符。 例如: class peach //定义基类:peach { datatype color , shape ;

实验5 类和对象(二)

实验5 类和对象(二) 实验目的: 1.进一步理解类和对象的概念; 2.进一步理解类的成员的访问控制的含义,公有和私有成员的区别; 3.掌握构造函数和析构函数的含义与作用、定义方式和实现; 4.能够根据给定的要求定义类并实现类的成员函数; 5.了解C++面向对象程序设计的基本思想、基本方法和基本步骤; 6.掌握MS Visual C++6.0调试C++程序的基本方法、基本步骤。 实验内容: 一、基础题: 1、输入下列程序,按要求进行实验,并记录实验的结果。 #include using namespace std; class Coordinate { public: Coordinate(int x1, int y1){x=x1; y=y1;} Coordinate(Coordinate &p); ~Coordinate(){cout<<"Destructor is called."<

cout<<"Copy initianization constructor is called."< class Date{ public: void printDate(); //显示日期 void setDay(int); //设置日的值 void setMonth(int); //设置月的值 void setYear(int); //设置年的值

相关文档
最新文档