c++类与对象作业题 挺重要
- 格式:doc
- 大小:83.50 KB
- 文档页数:31
类和对象一、选择题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、static8、方法重载所涉及的方法:(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 )。
第三章类与对象§3—1 面向对象§3—2 类的定义§3—3 对象的定义§3—4 对象的初始化§3—5 特殊类§3—6 特殊对象§3—7 特殊成员§3—8复杂对象§3—9 类类型转换§3—10 友元§3—1 面向对象一.面向对象面向对象本质上是一种自然合理的思维方法,是一种通过模仿人类建立现实世界模型的习惯思维方式和表达方式,运用对象、类、封装、继承、消息、多态性等概念来构造系统的软件开发方法,它包含面向对象的分析、设计、编程、测试和维护等过程。
它从研究的客观事物出发,将它们抽象为系统中的对象,作为构成系统的基本单位,并尽可能隐蔽对象的内部细节,再把具有相同属性和服务的对象抽象为类。
从客观事物出发,经过不同层次上的抽象得到基类和它的派生类,派生类继承基类的属性和服务,实现了共享。
类中的大多数数据只能用本类的方法进行处理,类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。
向不同对象发送同一消息,可产生不同的行为二.面向对象的三大特性1.封装性:是基础是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节,只保留有限的对外接口使之与外部发生联系,其目的是有效地实现信息隐藏,它是软件设计模块化、软件复用、软件维护的基础对象和类是封装性的体现。
类是对若干对象的抽象描述,对象是它所属类的实例对象:是用来描述客观事物的一个实体,是问题域中客观事物的抽象表示,是用来构成系统的基本单位,由一组属性和行为构成对象属性:表示客观事物的静态特性,一般用数据表达对象行为:描述客观事物的动态特性,即事物的行为,一般用函数(方法)来表达类:是一种用户自定义的抽象数据类型,包含属性和服务两部分,它为该类的所有对象提供一种统一的抽象描述2.继承性:是关键派生类继承基类的属性和服务,派生类自身还有新的属性和服务继承机制既可避免公用代码的重复开发,减少代码和数据冗余,又可通过增强一致性来减少模块间的接口和界面继承有单继承和多继承,继承有传递性3.多态性:是补充即同一接口,多种方法;相同界面,多种实现指同一个名字对应着多种不同的行为或实现或不同对象收到相同的消息时,产生不同的行为多态性有两种:编译时的多态性:重载,包括函数和运算符重载运行时的多态性:动态联编,即同一属性或行为在基类及其各个派生类中具有不同的语义多态性使高层代码只写一次而在低层可多次复用,提高了程序设计的灵活性和效率三、基本术语1.抽象对一类具体事物共性的描述,即从一类事物中抽取共同的本质特点成为概念2.消息即成员函数的调用是向对象发出的服务请求,它包含提供服务的对象标识、服务标识以及输入信息和回答信息消息的接收者是提供服务的对象,它对外提供的每一种服务是按消息格式规定好的消息协议,该消息协议就是其服务的具体功能,即通过函数体来实现的一条完整的消息包含如下内容:①消息的接收者:对象标识②服务标识:函数名③符合消息协议要求的参数:函数实参表§3—2 类的定义一、类面向对象程序设计=对象+对象+对象对象=算法+数据结构类:是对某一类对象的抽象,它由概括了一组对象共同性质的数据和函数组成是一种用户自定义的抽象数据类型,它具有对数据的抽象性、隐藏性和封装性对象:是某一个类的实例,是对现实世界中真实对象的模拟现实世界是一个对象的世界,任何对象都具有一定的属性和操作,总能用数据结构与算法两者合一地来描述二、类的定义1.类的定义(1)说明部分用于类中成员作说明,告诉使用者“干什么”:①数据成员说明:对象的属性、状态、特征②成员函数说明:对象的行为、操作、服务、方法(2)实现部分用来实现成员函数,告诉使用者“怎么干”即提供成员函数的函数体2.具体定义格式:class 类名{public:成员函数和数据成员的说明或实现protected:成员函数和数据成员的说明或实现private:数据成员和成员函数的说明或实现};各个成员函数的实现说明:(1)类名:用户自定义的标识符,应有一定英文含义,类名本身就是类型名(2)类体:“{ }”括起来的部分,凡在其中实现的成员函数均为内联函数(3)访问权限修饰符:①public:公有访问属性,这种成员可以被任意函数访问(使用),提供类的接口功能②protected:保护访问属性,这种成员只能被本类的成员函数和友元函数以及派生类中的成员函数和友元函数访问(使用)③private:私有访问属性,这种成员只能被本类的成员函数和友元函数访问(使用)(4)当把私有成员的声明放于类体最前时,private可省略,即缺省(默认)访问权限为private(5)三种访问权限符在类体中的出现顺序可任意,也可出现多次或不出现(6)在类体中不允许对声明的数据成员进行初始化(7)在定义类的成员函数时,也可对形参设置默认值。
论述类和对象的关系类和对象是面向对象编程中非常重要的概念,它们之间存在着密切的关系。
类是对一类具有相同属性和行为的对象的抽象描述,而对象则是类的实例化结果。
首先,类可以看作是对象的模板或者蓝图。
通过定义类,我们可以明确指定对象应该具有的属性和行为。
例如,我们可以定义一个“汽车”类,它具有属性(如品牌、型号、颜色)和行为(如加速、刹车、转向),通过实例化这个类得到不同的汽车对象,每个对象都具有相同的属性和行为,但是属性的具体值可能不同。
其次,对象是类的一个实例,它具有类中定义的所有属性和行为。
可以通过操作这个对象来实现对类中属性和行为的具体操作。
例如,我们可以创建一个“奥迪A6”对象,该对象具有“汽车”类中定义的品牌为“奥迪”、型号为“A6”、颜色为“白色”的属性和加速、刹车、转向等行为。
通过调用对象的方法,我们可以让这辆车加速、刹车或者转向。
随后,类和对象之间的关系体现了抽象和具体的层次关系。
类是对一类对象的抽象描述,而对象则是类的实例化结果,具体地体现出来。
类可以看作是对一类对象的共同特征和行为的总结和归纳,而对象则是这些共同特征和行为的具体实例,通过实例化类得到。
类和对象之间的关系类似于“鸟类”和“乌鸦”之间的关系,类是对一类对象的描述,而对象则是类的实例,是实际存在的个体。
此外,通过类和对象的关系,我们可以实现代码的重复利用和模块化。
类可以看作是一个工厂,通过实例化类得到的多个对象可以执行类中定义好的方法和属性。
我们可以通过修改类的定义来改变所有对象的行为或者属性,而不需要逐个修改每一个对象。
这种代码的重复利用和模块化大大提高了代码的可维护性和可扩展性。
在实际应用中,类和对象的关系有助于简化程序的设计和开发过程。
通过定义类,我们可以将复杂的问题分解成多个相对独立的模块,每个模块负责实现特定的功能。
这样不仅使程序更易于理解和维护,而且可以实现代码的可重用性,提高开发效率。
综上所述,类和对象是面向对象编程中关键的概念,它们之间存在密切的关系。
国家二级C++机试(类和对象)模拟试卷6(题后含答案及解析) 题型有:1. 选择题选择题1.有如下类声明:class Foo{ int bar;};则Foo类的成员bar 是( )。
A.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数正确答案:C解析:此题考查的是类的定义。
在定义类的成员变量时,如果没有使用关键字;所有成员默认定义为private私有权限。
知识模块:类和对象2.有如下类定义:class Foo { public:Foo(int v):value(v){} //①~Foo( ){} //②private:Foo( ){} //③int value=0;//④};其中存在语法错误的行是( )。
A.①B.②C.③D.④正确答案:D解析:此题考查的是类的定义。
C++语言规定,在类体内不允许对所定义的数据成员进行初始化。
知识模块:类和对象3.有如下类定义:class Test { public:Test( ){a=0;c=0;) //①int f(int a)const{this一>a=a;} //②static int g( ){retum a;} //③void.h(int b){Test::b=b;);//④private:int a:static int b:const int c;};int Test::b=0;在标注号码的行中,能被正确编译的是( )。
A.①B.②C.③D.④正确答案:D解析:此题考查的是类的定义。
一个类的长数据成员的初始化只能在成员初始化列表中进行,故选项A错误;常成员函数不能更新对象的数据成员,故选项B错误;静态成员函数可以直接访问类中说明的静态成员,但不能直接访问类中说明的非静态成员,故选项C错误。
知识模块:类和对象4.有如下类声明:class SAMPLE { int h:public:SAMPLE(int i=0):n(i){} void setValue(int n0);};下列关于getValue 成员函数的实现中,正确的是( )。
实验一类和对象实验课程名:面向对象程序设计(C++)专业班级:学号:姓名:实验时间:实验地点:指导教师:一、实验目的和要求(1) 理解类和对象的概念,掌握声明类和定义对象的方法。
(2) 掌握构造函数和析构函数的实现方法。
(3) 初步掌握使用类和对象编制C++程序。
(4) 掌握对象数组、对象指针和string类的使用方法。
(5) 掌握使用对象、对象指针和对象引用作为函数参数的方法。
(6) 掌握类对象作为成员的使用方法。
(7) 掌握静态数据成员和静态成员函数的使用方法。
(8) 理解友元的概念和掌握友元的使用方法。
二、实验内容1.输入下列程序//test4-1.cpp#include<iostream>using namespace std;class Coordinate{ public:Coordinate(int x1,int y1){ x=x1;y=y1;}Coordinate(Coordinate &p);~Coordinate(){ cout<<”Destructor is calleded\n”;}int getx(){return x;}int gety(){return y;}private:int x,y;};Coordinate::Coordinate(Coordinate &p){ x=p.x;y=p.y;cout<<”copy-initialization Constructou is called\n”;}int main(){ Coordinate p1(3,4);Coordinate p2(p1);Coordinate p3=p2;cout<<”p3=(“<<p3.getx()<<”,”<<p3.gety()<<”)\n”;}(1) 写出程序的运行结果。
(2) 将Coordinate类中带有两个参数的构造函数进行修改,在函数体内增添下述语句:cout<<”Constructor is called.\n”;写出程序的运行结果,并解释输出结果。
计算机等级考试二级C++考点分析之类和对象6.1 类的定义考点1 类的定义C++语言的类是一种用户自己定义的数据类型,和其他的数据类型不同的地方是组成这种类型的不仅可以有数据还可以有对数据进行操作的函数,它们分别叫做类的数据成员和类的函数成员。
类是面向对象程序设计的核心,数据封装就是通过类来实现的。
类是对一组性质相同对象的描述。
类的定义形式一般分为说明部分和实现部分。
说明部分是用来说明该类中的成员,实现部分是用来对成员函数的定义。
类的一般定义形式为:class<类名>{private:<私有的数据和函数>public:<公有的数据和函数>protected:<保护的数据和函数>};<各个成员函数的实现>其中,类定义以关键字class开始,其后跟类名,类名必须是一个有效的C++标识符。
类所说明的内容用花括号括起来,右花括号后的分号的作用是类说明语句的结束标志。
“{}”之间的内容称为类体。
关键字private,public和protected称为访问权限修饰符或访问控制修饰符,它们用于限制类成员的控制访问范围,如果没有使用多,则所有成员默认定义为private权限。
这些关键字的声明顺序和次数都是任意的。
<各个成员函数的实现>是类定义中的实现部分,这部分包含所有在类体内说明的成员函数的定义。
各个成员函数的实体内类体内定义,又可以在类体外定义。
如果一个成员函数在类体内定义,实现部分将不出现;如果所有的成员数都在类体内定义,则实现部分可以省略在类体内定义的成员函数都是内联函数。
小提示:C++规定任何数据类型都必须先定义后使用,类也不例外。
考点2 类成员的访问控制类成员均具有一个属性,叫做访问控制权限。
所以从访问权限上来讲,类的成员又分为私有的(private),公有的(public)和保护的( protected) 3类。
公有成员定义了类的外部接口,只有公有成员才能被用户程序直接访问;私有成员定义了类的内部使用的数据和函数,私有成员只能被自己所属类的成员函数及友元函数访问;保护成员存取权限介于公有成员和私有成员之间,它在类的继承和派生中使用。