当前位置:文档之家› 作业类与对象答案

作业类与对象答案

作业类与对象答案
作业类与对象答案

?????????作业一类与对象

1?知识要点

1.?掌握类与对象的概念和定义方法,掌握类成员的访问属性。

2.?掌握构造函数的概念、定义方法和使用方法。

3.?掌握析构函数的概念、定义方法和使用方法。

4.?掌握拷贝构造函数的概念、定义方法和使用方法。

2典型例题

例题1:下列有关类的说法不正确的是(??????)。

A.?对象是类的一个实例

B.?任何一个对象只能属于一个具体的类

C.?一个类只能有一个对象

D.类与对象的关系和数据类型与变量的关系相似

答案:C

分析:对象是类的一个实例,类与对象的关系和数据与变量的关系相似,所以一个类可以有多个对象。

例题2:下面(??????)项是对构造函数和析构函数的正确定义。

A.voidX::X(),??voidX::~X()

B.X::X(参数),???X::~X()

C.X::X(参数),???X::~X(参数)

D.voidX::X(参数),?voidX::~X(参数)

答案:B

分析构造函数无返回类型、可带参数、可重载;析构函数无返回类型、不可带参数、不可重载。

例题3:(??????)的功能是对象进行初始化。

???A.析构函数?????B.数据成员??C.构造函数??D.静态成员函数

答案:C

分析:当一个对象定义时,C++编译系统自动调用构造函数建立该对象并进行初始化;当一个对象的生命周期结束时,C++编译系统自动调用析构函数注销该对象并进行善后工作;

例题4:下列表达方式正确的是(??????)。

A.classP{???????????????????????B.?classP{

public:????????????????????????????????public:

intx=15;??????????????????????????intx;

??????????void?show(){cout<

?????????};??????????????????????????????????}

???C.classP{??????????????????????D.??classP{

?????????int?f;????????????????????????????public:

????????????};??????????????????????????????inta;

????????f=25;????????????????????????????????voidSeta(intx){a=x;}

};

答案:D

分析:在类体内不可对数据成员进行初始化;类定义结束时需用分号;只有类中的成员函数才能存取类中的私有数据。

例题5:拷贝构造函数具有的下列特点中,(??????)是错误的。

A.?如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的

B.?拷贝构造函数只有一个参数,并且是该类对象的引用

C.?拷贝构造函数是一种成员函数

D.拷贝构造函数的名字不能用类名

答案:D

分析:如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的;拷贝构造函数只有一个参数,并且是该类对象的引用;拷贝构造函数的名字与类同名,并且不被指定返回类型;拷贝构造函数是一种成员函数。

例题6:设有如下程序结构:

classBox

{…};

voidmain()

{BoxA,B,C;}

该程序运行时调用??(1)??次构造函数;调用??(2)??次析构函数。

答案:(1)3???(2)3

分析:每创建一个对象自动调用一次构造函数,在这里创建了A、B、C三个对象,所以共调用了三次构造函数;每释放一个对象,系统自动调用一次析构函数,A、B、C对象释放时,分别调用析构函数,所以析构函数共调用了三次。

例题9:设A为test类的对象且赋有初值,则语句testB(A);表示???????????????。

答案:将对象A复制给对象B。

分析:执行testB(A);语句相当于调用了默认复制构造函数,将A对象的属性复制给B对象。

例题11:分析找出以下程序中的错误,说明错误原因,给出修改方案使之能正确运行。

#include

classone

{??inta1,a2;

?public:

one(intx1=0,x2=0);

};

voidmain()

{onedata(2,3);

?cout<

?cout<

}

分析:出错原因:构造函数参数表语法错;构造函数没有函数体;类的对象不能直接访问类的私有成员变量。

改正后的程序如下:

?#include

?classone

?{inta1,a2;

??public:

????one(intx1=0,intx2=0){a1=x1;a2=x2;}

????intgeta1()?{returna1;}

????intgeta2()?{returna2;}

};

voidmain()

{onedata(2,3);

?cout<

?cout<

}

例题12:分析以下程序的错误原因,给出修改方案使之能正确运行。

#include

classAmplifier{

??floatinvol,outvol;

public:

??Amplifier(floatvin,floatvout)

??{invol=vin;outvol=vout;}

??floatgain();

};

?Amplifier::floatgain()?{returnoutvol/invol;}

voidmain()

{?Amplifieramp(5.0,10.0);

??cout<<"\n\nThegainis=>"<

}

分析:成员函数在类体外定义格式是:函数返回类型?类名::成员函数名(参数表);成员函数调用格式是:对象名.成员函数名(参数表)。

改正后的程序如下:

#include

classAmplifier

{??floatinvol,outvol;

public:

??Amplifier(floatvin,floatvout)??{invol=vin;outvol=vout;}

??floatgain();

};

?floatAmplifier::gain()?{returnoutvol/invol;?}

voidmain()

{Amplifieramp(5.0,10.0);

?cout<<"\n\nThegainis=>"<

}

例题14:定义一个学生类,其中有3个数据成员:学号、姓名、年龄,以及若干成员函数。同时编写main函数使用这个类,实现对学生数据的赋值和输出。

程序代码如下:

#include

#include

class?student

{?intno;

??charname[10];

??intage;

public:

??student(inti,char*str,intg)

??{no=i;

strcpy(name,str);

age=g;

}

student()

{no=0;

?strcpy(name,”none”);

age=-1;

}

voiddisplay()

{if(no>0)?cout<<”no”<

?else???cout<<”no”<

}

};

voidmain()

{studentd1(1001,”Tom”,18); d1.display();

studentd2;

d2.display();

}

实验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.doczj.com/doc/a45886283.html,=name; this.sex=sex; this.age=age; } public long getStudentID(){ return studentID; } public int getClassID(){

第4章-Java语言与面向对象作业习题与答案

第4章 Java语言与面向对象作业习题与答案 一、简答题 1.什么是对象?什么是类? 对象是一种抽象数据类型。它包含了事物的静态特征(属性)和动态特征(行为)两大特征。 类是一组同种对象的集合与抽象。即是具有相同属性和方法的一组对象集合。 2.Java语言的单继承是指什么? 一个类可以派生出多个子类,但子类只允许有一个父类,而不允许存在多个父类。 3.在一个共有类中的数据成员及方法成员的访问控制符为缺省,则这个类可供什么样的包引用? 当一个类的访问控制符为public共有时,表明这个类作为整体对其它类是可见和可引用的;但其数据成员和方法成员访问控制符为缺省时,它们只能被包中类(含当前类)引用。 4.抽象类的用途 (1)设计在更高的层次上进行,不考虑具体对象,从而大大简化了处理问题的复杂性; (2)设计出的类也具有更加良好的可扩展性。 5.什么是非静态的成员变量? 非静态成员即为实例成员变量(没有加static修饰的变量)。 6.异常Exception和错误Error有什么不同?Java如何处理它们? 答:错误通常是指程序本身存在非法情形,常常是因为代码存在问题而引起的,如造成系统崩溃、虚拟机粗错、动态失败等,这一类错误无法恢复或不可能捕获,并将导致应用程序中断。 异常表示另外一种“非同寻常”的错误。这种错误通常是不可预测,但可以被捕获且可以恢复。常见的异常情况包括存不足、找不到所需文件等。 对于错误,编程人员可以通过对程序进行更仔细的检查,以避免这种错误。 对于异常,可以使用捕获机制进行捕获,再编写出相应的处理程序。 7.简单述Java的异常处理机制。 答:Java采取“抛出—捕获”的方式,一旦一个异常想象产生,Runnable环境和应用程序会抛出各种标准类型和自己定义的异常,系统就可以捕获这些异常,并一定有相应的机制来处理它,确保不会产生司机、死循环或其它对操作系统的损害,从而保证了整个程序运行的安全性。 8.简单述throw语句和throws关键字之间的差别。 答:throw语句是在一个方法中用来直接抛出异常对象,其格式是: throw 异常对象; throws关键字是用一个方法声明首部,用来指出这个方法中可能产生若干种异常,其格式:[方法修饰符] 返回类型方法名(参数表)throws 异常类型表 { /*方法体*/ } 二、填空题 1.所有Java应用程序都必须包含的一个类方法是 main() 。 2.面向对象程序设计语言的三种重要特性是封装性、继承性和多态性。

实验3 类和对象

实验3 类和对象的创建与使用 一、实验目的 1、掌握类的定义和对象的创建; 2、掌握构造方法的作用、格式及重载; 3、掌握修饰词对成员存取权限的限制。 4、掌握实例成员、类成员的定义和使用方法。 二、实验内容 1、定义储蓄账户类,并创建对象模拟银行基本操作。 2、两游戏角色决斗。给定二个不同的角色,判定交手的胜负关系。(选做) 3、设计学生类、学校类、录取类,根据学生成绩和学校分数线,判断是否录取。 三、实验步骤 说明:请将第1,3题代码写入实验报告实验步骤处。 1、模拟银行账户功能。 编写程序,模拟银行账户功能。要求如下: 属性:账号、姓名、地址、存款余额、最小余额。 方法:存款、取款、查询。 根据用户操作显示储户相关信息。 如存款操作后,显示储户原有余额、今日存款数额及最终存款余额。 取款时,若取款成功,显示信息提示;若最后余额小于最小余额,拒绝取款,并显示信息提示。具体显示信息可据方便性原则自拟。 public class AccountOperation { public static void main(String [] args) { Account account1=new Account("650101","柳眉","天河学院",800.00); Account account2=new Account("650102","郑杰","天河学院",200.00); account1.transfer(account1,account2,300.0); account1.deposit(300.5); account1.withdraw(200); account1.withdraw(300); account1.query(); System.out.println(account1.toString()); //System.out.println(https://www.doczj.com/doc/a45886283.html,); error!! } } class Account { private String account; private String name; private String address; private double balance;

JAVA基础-第3章类与对象-练习题-200910

第3章类与对象 一.选择题 1.下列不属于面向对象编程的特性是(D)。 A.封装性 B. 继承性 C. 多态性 D. 编译执行 2.下列类的声明中不合法的是(C)。 A. class People{…} B. class 植物{…} C. Class A{…} D. public class 共有类{… 3.下列方法的声明中不合法的是(C)。 A. float area(){…} B. void area(){…} C. double area(d){…} D. int area(int r){…} 4. 下列构造方法(构造器)的调用中正确的是(C)。 A. 按照一般的方法调用 B. 由用户直接调用 C. 只能通过new自动调用 D. 被系统调用 5.下列程序运行的结果是(A)。 class Book{ int width; int length; } public class A{ static void f(Book p){ p.width=20; p.length=40; } public static void main(String args[]){ Book b=new Book(); b.width=10; b.length=20; f(b); System.out.print(" "+b.width); System.out.print(" "+b.length); } } A. 20 40 B. 10 40 C. 10 20 D. 以上都不对 6.下列程序运行的结果是(D)。 public class A{ static void f(int y){ y=y+10; } public static void main(String args[]){ double x=10; f(x); System.out.println(x); } }

《图像处理的基本操作》参考教案

活动二图像处理的基本操作 活动背景 Photoshop窗口界面主要包括标题栏、菜单栏、工具箱、工具选项栏、图像编辑区、浮动面板及状态栏等。工具箱中提供了许多实用的绘图工具,如裁切工具、画笔工具、颜色工具、填充工具等,用裁切工具裁切图像,用画笔工具绘制简单的图形,用颜色工具和填充工具给图像填上颜色。 在工具箱中,如果某工具图标的右下角带有三角形标记,表示该工具是一个工具组,包含有多个工具。单击这种工具,并按住鼠标左键,可以显示这种工具所包含的所有工具列表。 活动目标 1、认识裁切工具、画笔工具、颜料盒工具、填充工具、橡皮擦工具。 2、了解工具栏属性面板中常用属性的设置方法。 3、学会利用这些工具对图像进行简单的编辑和修改。 新课内容分析: 1、重点PHOTOSHOP的窗口与界面、PHOTOSHOP的基本操作 2、难点:图象编辑 活动内容 一、导入复习 导入:通过第一章的学习,通过活动一的学习,我们已经掌握了一些关于平面设计和Photoshop的一些关于平面设计和Photoshop的基本知识,基本知识,在本章中我们来学习CS3的有关功能,如创建文件和基本操作。 二、新课分析作业Photoshop图像设计建文件和基本操作。设置前景色和背景色使用工具箱内的“切换前景色和背景色工具” 使用工具箱内的“切换前景色和背景色工具”栏可以设置前景色和背景色。

活动二图像处理的基本操作有图像文件的创建有图像文件的创建、Photoshop CS有图像文件的创建、打开与保存,图像的缩放,与保存,图像的缩放,图像大小和分辩率调整,操作的撤销与恢复等基本操作。 1 创建新图像4 2 保存图像5 3 关闭与打开图像放置图像浏览图像。新建文件选择“文件” 新建菜单,或按【Ctrl+N】新建” 选择“文件”>“新建”菜单,或按【Ctrl+N】组合键,在打开的“新建”对话框设置相关参数,合键,在打开的“新建”对话框设置相关参数,单击“确定”按钮,即可创建新图像。单击“确定”按钮,即可创建新图像。设置文件名称设置文件尺寸设置文件模式设置文件分辨率设置文件背景内容 2.3 文件基本操作和图像参数(1)打开一个或多个图像文件:单击“文件”→“打开” 打开一个或多个图像文件:单击“文件” 打开” 菜单命令,调出“打开”对话框,如图1 所示。菜单命令,调出“打开”对话框,如图1-3-1所示。 在打开”对话框内的“查找范围” “打开”对话框内的“查找范围”下拉列表框中选择文件夹,再在“文件类型”下拉列表框中选择文件类型,件夹,再在“文件类型”下拉列表框中选择文件类型,在文件列表框中单击选中图像文件。在文件列表框中单击选中图像文件。如果要同时打开多个连续的图像文件,如果要同时打开多个连续的图像文件,可以单击选中第1个文件,再按住Shift Shift 键单击选中最后一个文件,中第1个文件,再按住Shift键,单击选中最后一个文件,即可选中这连续的多个图像文件,然后单击再单击“ 即可选中这连续的多个图像文件,然后单击再单击“打按钮。如果要同时打开多个不连续的图像

第七讲 MAYA基本操作

第二讲MAY A基本操作 教学目的: 教学重点: 教学难点: 教学准备: 课时安排: 教学过程: 1、课前复习 (1)MAY A的菜单栏有什么特点? (2)MAY A有哪几种建模方式? (3)MAY A中,如何将某一视图最大化?如何又将之还原? (4)MAY A中,如何在一个视图中插入一张背景图片?如何设置一背景图片的显示属性?(5)MAY A中,如何建立一个图层?如何将一个对象放入该图层内?如何删除一个图层?如何清空一个图层?如何将图层对象了隐藏、锁定? (6)显示一个对象的热键盒的操作方法是什么? 2、新建、保存、打开与合并MAY A场景 (1)新建 方法1:File(文件)菜单下的New Scene命令可以新建一个场景; 方法2:通过工具栏中的“Create a new scene(新建一个新场景)”按钮来创建一个新场景;方法3:快捷键Ctrl+N; 在新建一个新场景之前,若要设置场景是对象的长度单位、角度单位及动画播放的起始帧或结束帧等,可单击File(文件)菜单下的New Scene命令后的属性设置小方块,弹出如下对话框,其中,Linear项是用来设置单位的,系统默认是centimeter(厘米),角度单位默认为度,帧数设置是每秒24帧,播放/动画起始帧是1,播放/动画结束帧是24。 (2)保存 方法1:File(文件)菜单下的Save Scene命令; 方法2:通过工具栏中的“Save the current scene(保存场景)”按钮来创建一个新场景;方法3:快捷键Ctrl+S; (3)打开 方法1:File(文件)菜单下的Open Scene命令; 方法2:通过工具栏中的“Open a scene(打开一个场景)”按钮来打开一个场景; 方法3:快捷键Ctrl+O;

类和对象练习题

类和对象 一、选择题 1、下面对方法的作用描述不正确的是:( d ) A、使程序结构清晰 B、功能复用 C、代码简洁 D、重复代码 2、方法定义的变量:( b ) A 、一定在方法所有位置可见B、可能在方法的局部位置可见 C、在方法外可以使用 D、在方法外可见 3、方法的形参:(a) A、可以没有 B、至少有一个 C、必须定义多个形参 D、只能是简单变量 4、方法的调用:(c) A、必须是一条完整的语句 B、只能是一个表达式 C、可能是语句,也可能是表达式 D、必须提供实际参数 5、return 语句:( d) A、不能用来返回对象 B、只可以返回数值 C、方法都必须含有 D、一个方法中可以有多个return 语句 6、void 的含义:(d) A、方法体为空 B、方法体没有意义 C、定义方法时必须使用 D、方法没有返回值 7、main()方法的返回类型是:( c ) A 、boolean B、int C、void D、static 8、方法重载所涉及的方法:( a ) A、有相同的名字 B、参数个数必须不同 C、参数类型必须不同 D、返回类型必须不同 9、下面关于类和对象之间关系的描述,正确的是( c ) A、联接关系B、包含关系C、具体与抽象的关系D、类是对象的具体化 10、下面关于java中类的说法哪个是不正确的( c ) A、类体中只能有变量定义和成员方法的定义,不能有其他语句。 B、构造方法是类中的特殊方法。 C、类一定要声明为public的,才可以执行。

D、一个java文件中可以有多个class定义。 11、下列哪个类声明是正确的( d) A、public void H1{…} B 、public class Move(){…} C、public class void number{} D、public class Car{…} 12、下面的方法声明中,哪个是正确的(c) A、public class methodName(){} B、public void int methodName(){} C、public void methodName(){} D、public void methodName{} 13、下述哪些说法是不正确的?( b ) A、实例变量是类的成员变量 B、实例变量是用static关键字声明的 C、方法变量在方法执行时创建 D、方法变量在使用之前必须初始化 14、下面对构造方法的描述不正确是( b)。 A、系统提供默认的构造方法 B、构造方法可以有参数,所以也可以有返回值 C、构造方法可以重载 D、构造方法可以设置参数 15、定义类头时,不可能用到的关键字是( b)。 A、class B、private C、extends D、public 16、下列类头定义中,错误的是( )。 A、public x extends y {...} B、public class x extends y {...} C、class x extends y implements y1 {...} D、class x {...} 17、设A为已定义的类名,下列声明A类的对象a的语句中正确的是( ) 。 A、float A a; B、public A a=A( ); C、A a=new int( ); D、static A a=new A( ); 18、设i , j为类X中定义的int型变量名,下列X类的构造方法中不正确的是( a )。 A、void X(int k ){ i=k; } B、X(int k ){ i=k; } C、X(int m, int n ){ i=m; j=n; } D、X( ){i=0;j=0; } 19、有一个类A,以下为其构造方法的声明,其中正确的是

Word基本操作大全

把文字替换成图片 首先把图片复制到剪贴板中,然后打开替换对话框,在“查找内容框中输入将被替换的文字,接着在替换为”框中输入“ “C”(注意:输 入的一定要是半角字符,c要小写),单击替换即可。说明:““的意思就是指令WordXP 以剪贴板中的内容替换“查找内容(框中的内容。按此原理,“八还可替换包括回车符在内的任何可以复制到剪贴板的可视内容,甚至Excel 表格。 三招去掉页眉那条横线 1、在页眉中,在“格式(-“边框和底纹(中设置表格和边框为“无(,应用于“段落( 2、同上,只是把边框的颜色设置为白色(其实并没有删的,只是看起来没有了,呵呵) 3、在“样式(栏里把“页眉(换成“正文(就行了——强烈推荐!会多出- -(两个横杠)这是用户不愿看到的,又要多出一步作删除-- 解决方法:替换时在前引号前加上一个空格问题就解决了插入日期和时间的快捷键 Alt+Shift+D :当前日期 Alt+Shift+T :当前时间 批量转换全角字符为半角字符首先全选。然后格式” T更改大小写”,在对话框中先选中半角”,确定即可

Word 启动参数简介 单击开始-运行”命令,然后输入Word所在路径及参数确定即可运行,如 “C\: PROGRAM FILES \MICROSOFT Office \Office 10\ WINWord.EXE /n ”,这些常用的参数及功能如下: /n :启动Word 后不创建新的文件。 /a :禁止插件和通用模板自动启动。 /m :禁止自动执行的宏。 /w :启动一个新Word 进程,独立与正在运行的Word 进程。 /c :启动Word,然后调用Netmeeting。 /q :不显示启动画面。 另外对于常需用到的参数,我们可以在Word 的快捷图标上单击鼠标右键,然后在“目标”项的路径后加上该参数即可。 快速打开最后编辑的文档如果你希望Word 在启动时能自动打开你上次编辑的文档,可以用简单的宏命令来完成: (1)选择“工具”菜单中的“宏”菜单项,单击“录制新宏”命令打开“录制宏对话框;⑵在录制宏”寸话框中,在宏名”输入框中输入“autoexec,”点击确定”; (3)从菜单中选择“文件”,点击最近打开文件列表中显示的第一个文件名;并“停止录制”。保存退出。下次再启动Word 时,它会自动加载你工作的最后一个文档。

JAVA类与对象习题

JAVA类与对象习题 一、写出一个类People,并由该类做基类派生出子类Employee和Teacher。其中People 类具有name、age两个保护成员变量,分别为String类型、整型,且具有公有的getAge 成员函数,用于返回age变量的值。Employee类具有保护成员变量empno,Teacher类有teano和zc成员变量。 二、(1)创建Rectangle类,添加属性width、height; (2)在Rectangle类中添加两种方法计算矩形的周长和面积; (3)编程利用Rectangle输出一个矩形的周长和面积 三、(1)设计一个User类,其中包括用户名、口令等属性以及构造方法(至少重载2 个)。获取和设置口令的方法,显示和修改用户名的方法等。编写应用程序测试User 类。 (2)定义一个student类,其中包括用户名、姓名、性别、出生年月等属行以及init()——初始化各属性、display()——显示各属性、modify()——修改姓名等方法。实现并测试这个类。 (3)从上题的student类中派生出Granduate(研究生)类,添加属性:专业subject、导师adviser。重载相应的成员方法。并测试这个类。 四、项目名称:Bank Account Management System 银行账户管理系统简称BAM 练习1:(面向对象基础语法) 写一个账户类(Account), 属性: id:账户号码长整数 password:账户密码 name:真实姓名 personId:身份证号码字符串类型 email:客户的电子邮箱 balance:账户余额 方法: deposit: 存款方法,参数是double型的金额 withdraw:取款方法,参数是double型的金额

Photoshop基本操作介绍图文介绍

Photoshop基本操作介绍(图文介绍)

————————————————————————————————作者:————————————————————————————————日期:

第一课:工具的使用 一、Photoshop简介: Adobe公司出品的Photoshop是目前最广泛的图像处理软件,常用于广告、艺术、平面设计等创作。也广泛用于网页设计和三维效果图的后期处理,对于业余图像爱好者,也可将自己的照片扫描到计算机,做出精美的效果。总之,Photoshop是一个功能强大、 用途广泛的软件,总能做出惊心动魄的作品。 二、认识工具栏 1、选框工具:用于选取需要的区域 ----选择一个像素的横向区域 套索工具 移动工具 魔术棒工具 修复工具 仿制图章工具 选框工具 裁剪工具

----选择一个像素的竖向区域 属性栏: 注:按shift 键+框选,可画出正方形或正圆形区域 2、移动工具: -----用于移动图层或选区里的图像 3、套索工具: ----用于套索出选区 ----用于套索出多边形选区 ----可根据颜色的区别而自动产生套索选区 4、魔术棒工具: ----根据颜色相似原理,选择颜色相近的区域。 注:“容差”,定义可抹除的颜色范围,高容差会抹除范围更广的像素。 5、修复工具: 且是 ----类似于“仿制图工具”,但有智能修复功能。 ----用于大面积的修复 一新 ----用采样点的颜色替换原图像的颜色 注:Alt+鼠标单击,可拾取采样点。 6、仿制图章工具 ----仿制图章工具从图像中取样,然后您可将样本应用到其它图像或同一图像的其它部分。 ----仿制图章工具从图像中取样,然后将样本应用到其它图像或同 一图像的其它部分(按Alt 键,拾取采样点)。 单个选区 选区相加 选区相减 选区相交

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()函数的入口处。

类与对象作业1_2012_参考答案

1.类的定义 ?类的成员包括 –数据成员与成员函数 ?类定义的三种形式 –声明与实现不分离,写在{}内 –声明与实现分离,放在同一个文件中 –声明与实现分离,放在两个文件中 ?类声明:放在头文件中,命名:类名.h,包含: –数据成员的定义 –成员函数的原型说明语句 ?类实现:放在源程序文件中,命名:类名.cpp,包含: –成员函数的定义:要在每个成员函数的函数名前加:类名:: –增加文件包含命令,包含类声明文件,如:#include”circle.h” 2.类的使用 ?编写main 函数 –放在源程序文件中,命名:test.cpp –增加文件包含命令,包含类声明文件,如:#include”circle.h” –创建对象 –测试各个成员函数,形式为 ?对象名.公有成员函数名(实参表) 类与对象1_2012_参考答案 4-1.编写圆类Circle,包含: 一个名为radius的double型数据成员,表示圆形的半径。 数据成员的获取函数getRadius和设置函数setRadius。 一个名为getArea()的函数,返回圆形的面积。 一个名为getPerimeter()的函数,返回圆形的周长 编写一个测试程序,它创建2个Circle类对象,将第一个圆形的半径设置为2.5,第2个圆形的半径设置为3.5,并输出两个圆形对象的半径、面积和周长。 //以下为Circle类的声明部分:circle.h class Circle { public: double getArea(); double getPerimeter(); double getRadius(); void setRadius(double); private: double radius; }; //以下为Circle类的实现部分: circle.cpp #include"circle.h"

3Dunity基本操作

一、【实验名称】 Unity3D的基本操作 二、【实验目的】 通过简单游戏场景的设计与制作,进一步熟悉Unity3D的基本操作,掌握Unity3d中地形、树木、草、天空盒、雾、影子等的绘制与添加的方法,掌握贴图材质的编辑设置。 三、【实验原理】 Unity3D操作方法,地形、树、草的绘制,天空盒、雾及影子效果的添加方法,材质贴图的编辑,地形中贴图的编辑设置。 四、【具体操作内容及要求】 1.在Unity3D平台中,利用提供的素材完成游戏开始界面的设计制作。 2. 在主场景中设计并绘制游戏地形,要求包含灯光、地面、多种树木、草丛、石头、湖面等对象,注意材质贴图的编辑和设置。 2. 在主场景中应用天空盒效果。 3. 在主场景中实现雾及影子效果。 五、具体实验步骤 1.在GameObject->CreateOther->Terrain里创建地形,在右面的设置面板点击 修改地形的面积(如图1); 图1 2.在GameObject->CreateOther->Directional light里创建平行光(如图2);

图2 3. 该图标用于建立无极限高的山峰,该图标比第一个图标多了一个参 数值Height,设置该参数可限定山的高度,使用该图标可平滑山峰,通过改变BrushSize和Opacity的参数建立不同的山峰(如图3); 图3 4. 该图标可用于给地形贴图,点击Assets->Importpackage->TerrainAssets 导入地形的贴图数据库,点击可选择已导入的贴图材料进行贴图(如图4);

图4 5. 该图标分别可用于给场景添加树木和草,方法为点击菜单Assets-> Importpackage->TreeCreator和TerrainAssets分别导入树木和草的数据库,点 击或添加已导入的树木和草材料(如图5); 图5 6.点击Assets->Importpackage->Sykboxes导入天空的材料数据库,点击Edit-> RenderSettings,在Inspector面板修改相应的参数可添加雾气效果,点击 可选择已导入的天空材料,点击Hierarchy

实验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、实例成员变量通过对象引用,类成员变量通过类或对象名访问。

类与对象部分作业题

第四章类与对象习题 基本概念与基础知识 填空题(知识点) 4.1.1 引入类定义的关键字是()。类的成员函数通常指定为(),类的数 据成员通常指定为()。指定为()的类成员可以在类对象所在域中的任何位置访问它们。通常用类的()成员表示类的属性,用类的()成员表示类的操作。 答案: (1) (2)公有的 (3)私有的 (4)公有的 (5)数据 (6)函数 4.1.2 类的访问限定符包括()、()和()。私有数据通常由() 函数来访问(读和写)。这些函数统称为()。 答案: (1)(公有的) (2)(私有的) (3)(保护的) (4)公有的成员函数 (5)类的接口 4.1.3 通常在逻辑上,同一类的每个对象都有()代码区,用以存储成员函数。而 在物理上通常只有()代码区。只有在()定义,并()的函数和加了关键字()的函数例外。 答案: (1)独立的 (2)共用的 (3)在类说明中 (4)不包括循环等复杂结构 (5) .1.4 中支持三种域:()、()、()。函数域被包括在()中,全局域被包括在()中。指示符以关键字开头,后面是关键字(),最后是()。这样表示以后在该名字空间中所有成员都()。如不使用指示符则在使用时要加::,称为()运算符。 答案: (1)局部域() (2)名字空间域()

(3)类域() (4)局部域 (5)名字空间域 (6) (7)名字空间名 (8)可以直接被使用 (9)域 4.1.5 引用通常用作函数的()和()。对数组只能引用()不能引用()。 答案: (1)参数 (2)返回值 (3)数组元素 (4)数组名本身 .6 构造函数的任务是()。构造函数无()。类中可以有()个构造函数,它们由()区分。如果类说明中没有给出构造函数,则编译器会()。拷贝构造函数的参数是(),当程序没有给出复制构造函数时,系统会自动提供()支持,这样的复制构造函数中每个类成员()。 答案: (1)初始化数据成员 (2)函数返回类型说明 (3)多 (4)不同的参数表 (5)自动给出一个默认的构造函数 (6)同一类对象的引用 (7)默认的的复制构造函,称为默认的按成员语义支持。 (8)被依次复制 .7 一个类有()个析构函数。()时,系统会自动调用析构函数。 答案: (1)一 (2)对象注销时 .8 运算符重载时,其函数名由()构成。成员函数重载双目运算符时,左操作数是(),右操作数是()。 答案: (1)关键字和该运算符 (2)对象 (3)该函数的参数 4.9面向过程的程序设计中程序模型描述为(),面向对象程序设计的程序模型可描述 为()。 答案:

实验1 图像的基本操作

GDOU-B-11-112广东海洋大学学生实验报告书(学生用表) 实验名称图像的基本操作课程名称数字图像处理课程号 学院(系) 信息学院专业电子信息工程班级电子1103班 学生姓名杜嘉星学号201011611308 实验地点实验日期 实验1 图像的基本操作 一、实验目的: 学会用MA TLAB工具箱中的函数对图像进行读取、显示和保存等的基本操作。 二、实验内容: 1、仔细阅读MA TLAB帮助文件中有关函数imread, size, whos, imshow, imwrite的使用 说明,能充分理解其使用方法。 2、并能运用以上函数完成相应的实验操作。 三、实验要求: 掌握并能熟练应用上述函数。实验报告需要提交每步处理的命令并回答相关的问题。 四、实验相关知识: 学习有关函数的使用 imread 使用函数imread可以将图像读入MA TLAB环境,imreaed的语法为imread(’filename’),其中filename是一个含有图像文件全名的字符串(包括任何可用的扩展名)。例如, f=imread(‘chestxray.jpg’); 要想读取指定路径中的图像,最简单的办法就是在filename中输入完整的或相对的。 例如,f=imread(‘D:\myimages\chestxray.jpg’); size 函数size可给出一幅图像的行数和列数。用如下格式可自动确定一幅图像的大小:[M,N]=size(f); 该语法将返回图像的行数(M)和列数(N)。 whos 函数whos可以显示出一个数组的附加信息。语句为:whos f imshow 在MA TLAB桌面上图像一般使用函数imshow来显示,该函数的基本语法为:imshow(f,

实验一 类和对象

实验一类和对象 Visual C++ 6.0集成开发环境的使用: Visual C++系列产品是微软公司推出的一款优秀的C++集成开发环境,其产品定位为Windows 95/98、NT、2000 系列Win32 系统程序开发,由于其良好的界面和可操作性,被广泛应用。由于2000 年以后,微软全面转向.NET 平台,Visual C++6.0 成为支持标准C/C++规范的最后版本。 1.启动 安装完系统后,可以选择如下两种方式启动 1) 点击Windows “开始”菜单,选择“程序”菜单下“Microsoft Visual Studio 6.0”子菜单下的快捷方式Microsoft Visual C++ 6.0 启动Visual C++ 6.0。 2) 点击Windows “开始”菜单,选择“运行”,输入msdev,即可启动。启动后的界面如下: 图 1 启动界面 2.建立工程

选择“File”菜单下的“New”菜单项或直接按Ctrl+N,启动新建向导,如图2 所示: 图 2 新建向导 选择在“Projects”属性页选择Win32 Console Application,在Project Name 中输入项目名称demo,在Location 中选择项目文件,如图2 中c:\test\demo,项目所有文件将保存在此文件。输入完毕,单击确定按钮,进入下一界面如图3:

图 3 项目类型向导 在图 3 所示界面中选择a simple application,然后点击Finish 按钮,系统显示图4 所示界面。如果想退回上一步可以选择“Back”按钮。 图 4 项目信息 在图 4 中选择OK 按钮,系统完成项目的创建,并保存项目相关的信息。项目的目录结构如图5 所示。 1) Demo.dsw 是项目工作区文件,双击此文件,即可打开此项目; 2) Demo.dsp 为项目文件; 3) demo.cpp 是项目中的一个源程序;stdafx.h 和stdafx.cpp 为自动创建的源程序,一般不用修改。 图 5 目录结构

C++第五章_类与对象习题解答

第五章类与对象习题 一.基本概念与基础知识自测题 填空题 引入类定义的关键字是(1)。类的成员函数通常指定为(2),类的数据成员通常指定为(3)。指定为(4)的类成员可以在类对象所在域中的任何位置访问它们。通常用类的(5)成员表示类的属性,用类的(6)成员表示类的操作。 答案: (1)class (2)公有的public (3)私有的private (4)公有的public (5)数据 (6)/ (7)函数 类的访问限定符包括(1)、(2)和(3)。私有数据通常由(4)函数来访问(读和写)。这些函数统称为(5)。 答案: (1)public(公有的) (2)private(私有的) (3)protected(保护的) (4)公有的成员函数 (5)类的接口 通常在逻辑上,同一类的每个对象都有(1)代码区,用以存储成员函数。而在物理上通常只有(2)代码区。只有在(3)定义,并(4)的函数和加了关键字(5)的函数例外。 答案: (1)? (2)独立的 (3)共用的 (4)在类说明中 (5)不包括循环等复杂结构 (6)inline C++中支持三种域:(1)、(2)、(3)。函数域被包括在(4)中,全局域被包括在(5)中。using指示符以关键字using开头,后面是关键字(6),最后是(7)。这样表示以后在该名字空间中所有成员都(8)。 如不使用using指示符则在使用时要加::,称为(9)运算符。 答案: (1)局部域(local scope) (2)名字空间域(namespace scope) (3)类域(class scope) (4)? (5)局部域

(6)名字空间域 (7)namespace (8)名字空间名 (9)可以直接被使用 (10)域 引用通常用作函数的(1)和(2)。对数组只能引用(3)不能引用(4)。 答案: (1)参数 (2)返回值 (3)) (4)数组元素 (5)数组名本身 构造函数的任务是(1)和(2)。构造函数无(3),但并不表示(4)。类中可以有(5)个构造函数,它们由(6)区分。 如果类说明中没有给出构造函数,则C++编译器会(7)。拷贝构造函数的参数是(8),当程序没有给出拷贝构造函数时,系统会自动提供(9)支持,这样的拷贝构造函数中每个类成员(10)。 答案: (1)建立对象(为对象分配内存) (2)初始化数据成员 (3)函数返回类型说明 (4)没有返回值,返回的是构造函数所创建的对象 (5)多 (6)不同的参数表 (7)- (8)自动给出一个缺省的构造函数 (9)同一类对象的引用 (10)缺省的拷贝构造函,称为缺省的按成员语义支持。 (11)被依次拷贝 一个类有(1)个析构函数。(2)时,系统会自动调用析构函数。 答案: (1)一 (2)对象注销时 运算符重载时,其函数名由(1)构成。成员函数重载双目运算符时,左操作数是(2),右操作数是(3)。 答案: (1)@ (2)关键字operator和该运算符 (3)对象 (4)该函数的参数 5.2简答题(以下习题题号可能和教材不一致!) 5.2.1为什么返回值为引用的函数可以作为左值

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<

相关主题
文本预览
相关文档 最新文档