面向对象程序设计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