基本信息
文件名称:南开大学14秋学期《面向对象程序设计》在线作业答案.pdf
文件大小:312.18 KB
总页数:9 页
更新时间:2025-07-02
总字数:约6.08千字
文档摘要

面向对象程序设计14秋学期《面向对象程序设计》在线作业

一,单选题

1.下列关于this指针的说法,错误的是()。

A.this指针指向当前正在操作的对象

B.this指针只存在于非静态成员函数中

C.在成员函数中对非静态数据成员的访问是通过this指针完成的

D.静态成员函数中可以通过this指针访问非静态成员

?

正确答案:D

2.已知“inta=10,*p;int*r=p;r=a;*p=20;couta;”,则输出为()。

A.10

B.20

C.不确定值

D.程序有错误

?

正确答案:B

3.有关重载函数的描述正确的是()。

A.函数名相同的函数就是重载函数

B.函数名相同但返回值类型不同的函数就是重载函数

C.函数名相同但参数个数或类型不同的函数就是重载函数

D.函数功能相同的函数就是重载函数

?

正确答案:C

4.在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。

下列叙述中正确的是()。

A.operator+有两个参数,operator*有两个参数

B.operator+有两个参数,operator*有一个参数

C.operator+有一个参数,operator*有两个参数

D.operator+有一个参数,operator*有一个参数

?

正确答案:C

5.以成员函数方式重载运算符“”,则obj1obj2被C++编译器解释为()。

A.operator(obj1,obj2)

B.(obj1,obj2)

C.obj1.operator(obj2)

D.obj2.operator(obj1)

?

正确答案:C

6.下列运算符中,()在C++中不能重载。

A.?:

B.+

C.-

D.=

?

正确答案:A

7.运行以下程序时,如果由键盘输入6514,则输出结果是()。#includeiostreamusing

namespacestd;intmain(){intm,n;coutInputm,n:;cinmn;while(m!=n)

{while(mn)m-=n;while(nm)n-=m;}coutmendl;return0;}

A.3

B.2

C.1

D.0

?

正确答案:C

8.变量的引用,其含义是指该变量的()。

A.值

B.类型

C.别名

D.地址

?

正确答案:C

9.类对象占用内存的大小与()有关。

A.数据成员

B.成员函数

C.数据成员和成员函数

D.私有成员

?

正确答案:A

10.单目运算符作为类成员函数重载时()。

A.有形参

B.没有形参

C.有实参

D.以上都不正确

?

正确答案:B

11.下列关于运算符重载的描述中,正确的是()。

A.运算符重载可以改变操作数的个数

B.运算符重载可以改变运算符的优先级

C.运算符重载可以改变运算符的结合性

D.运算符重载可以使运算符实现特殊功能

?

正确答案:D

12.假设堆内存分配均成功,则下面程序段完全正确的是()。

A.int*p=newint(3);cout*p;deletep;

B.int*p=newint[5]={1,2,3,4,5};for(inti=0;i5;i++)coutp[i];delete[]p;

C.int*p=newint[5];for(inti=0;i5;i++,p++){*p=i;cout*p;}delete[]p;

D.以上程序段均正确

?

正确答案:A

13.已知“inta=10,b=8;intr=a;r=b;couta,b,r;”,则输出为()。

A.10,8,10

B.10,8,8

C.8,8,10

D.8,8,8

?

正确答案:D

14.面向对象程序设计方法以()为中心进行分析和设计。

A.结构

B.模块

C.对象

D.类

?

正确答案:C

15.将一个string类对象赋予新值,应该使用string类的()函数。

A.assign

B.insert

C.swap

D.find

?

正确答案:A