题目
C++中,类和对象之间的关系是()。
A 结构类型和结构体的关系。
B 定义和被定义的关系。
C 调用和被调用的关系。
D 型和值的关系。
第1题
阅读下列说明、图和C++代码,回答问题1至问题3。
【说明】
已知四个类之间的关系如图2-2所示,分别对每个类的方法进行编号,例如Shape的perimeter()方法为1号,表示为1:perimeter(),Rectangle类的perimeter()为2号,表示为2:perimeter(),依此类推,其中,每个类的perimeter方法都为虚函数且方法签名相同。
【C++代码】
Triangle *tr=new Triangle();
Square *sq=new Square();
Shape *sh =tr;
关于上述C++代码中sh和tr的以下叙述中,哪两个是正确的(写出编号)。
①sh和tr分别引用同一个对象;
②sh和tr分别引用同一类型的不同的对象:
③sh和tr分别引用不同类型的不同对象;
④sh和tr分别引用同一个对象的不同备份:
⑤sh和tr所引用的内存空间是相同的。
第2题
A.C++中动态内存分配用new建立动态对象,用delete删除动态对象
B.类和对象的关系就类似数据类型和变量的关系
C.构造函数是和类同名的成员函数
D.如果#if后的常量表达值为真,则不编译这部分,否则就编译该部分
第4题
阅读以下说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
c++标准模板库中提供了map模板类,该模板类可以表示多个“键一值”对的集合,其中键的作用与普通数组中的索引相当,而值用作待存储和检索的数据。此外,c++模板库还提供了pair模板类,该类可以表示一个“键-值”对。pair对象包含两个属性:first和second,其中first表示“键-值”中的“键”,而Second表示“键-值”中的“值”。map类提供了insert方法和find方法,用于插入和查找信息。应用时,将一个pair。对象插入(insert)到map对象后,根据“键”在map对象中进行查找(find),即可获得一个指向pair对象的迭代器。下面的c++代码中使用了map和pair模板类,将编号为1001、1002、1003的员工信息插入到map对象中,然后输入一个指定的员工编号,通过员工编号来获取员工的基本信息。员工编号为整型编码,员工的基本信息定义为类employee。map对象与员工对象之间的关系及存储结构如图5—1所示。
【c++代码】
include
include
include
using namespace std;
class employee {(1) :
employee(string name,string phoneNumber,string address){
this->name=name;
this->phoneNumber=phoneNumber ;
this->address=address;
}
string name;
string phoneNumber;
string address;
);
int main()
{
mapemployeeMap;
typedef pair>employeeNo; //从标准输入获得员工编号
map::const_iterator it;
it= (5) .find(employeeNo); //根据员工编号查找员工信息
if(it==employeeMap.end()){
cout<first<second一>nafae(phoneNumber<second->address<
第5题
A.类与类之间可以通过一些手段进行通信和联络
B.类用于描述事物的属性和对事物的操作
C.类与类之间必须是平等的关系,而不能组成层次关系
D.类与类之间可以通过封装而具有明确的独立性
第6题
试题五(共 15 分)
阅读下列说明、图和C++代码,回答问题1 至问题3,将解答写在答题纸的对应栏内。
[说明]
已知四个类之间的关系如图 5-1 所示,分别对每个类的方法进行编号,例如 Shape的 perimeter()方法为 1 号,表示为“1:perimeter()” ,Rectangle 类的 perimeter()为2号,表示为“2:perimeter()” ,依此类推,其中,每个类的 perimeter方法都为虚函数且方法签名相同。
[C++代码]
Triangle *tr = new Triangle();
Square *sq = new Square();
Shape *sh = tr;
[问题 1] 关于上述 C++代码中 sh 和 tr 的以下叙述中,哪两个是正确的(写出编号) 。
① sh 和 tr 分别引用同一个对象;
② sh 和 tr 分别引用同一类型的不同的对象;
③ sh 和 tr 分别引用不同类型的不同对象;
④ sh 和 tr 分别引用同一个对象的不同拷贝;
⑤ sh 和 tr 所引用的内存空间是相同的。
[问题 2] 写出下面消息对应的方法编号(如果该消息错误或者没有对应的方法调用,请
填写“无” ) 。
tr->height() (1)
sh->perimeter() (2)
sq->height() (3)
sq->perimeter() (4)
sh->height() (5)
tr->perimeter() (6)
[问题 3] 不考虑内存释放问题,下列赋值语句中哪两个是合法的(写出合法赋值语句的
编号) 。
① sq = sh; ② sh = tr; ③ tr = sq; ④ sq = tr; ⑤ sh = sq;
第7题
A.CORBA标准主要分为三个部分:接口定义语言(IDL)、对象请求代理(ORB.以及ORB之间的互操作协议IIOP(Intemetlnter-ORB Protocol)
B.ORB是对象之间建立Client/Server关系的中间件
C.CORBA由开放软件组织(OSF)提出并在UNIX平台上获得巨大成功
D.使用C++和Java都可以开发CORBA应用
第8题
A.类用于描述事物的属性和对事物的操作
B.类与类之间通过封装而具有明确的独立性
C.类与类之间必须是平等的关系,而不能组成层次结构
D.类与类之间可以通过一些方法进行通信和联络
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!