类和对象与运算符重载 - 答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择题
1、若有以下说明,在类外使用对象objx成员的正确语句是()。
class X
{ int a;
void fun1();
public:
void fun2();
};
A objx.a=0
B objx.fun1();
C objx.fun2();
D X::fun1();
2、若有以下说明,对n的正确访问语句是()。
class Y
{ //………;
public:
static int n;
};
int Y::n=0;
Y objy;
A n=1;
B Y::n=1;
C objy::n=1;
D Y->n=1;
3、若有以下类Z的说明,函数fstatic的正确定义是()。
class Z
{ int a;
public:
void fstatic(Z &)static;
};
A void Z::fstatic(Z &objz){objz.a=0;}
B void Z::fs tatic(Z &objz){a=objz.a;}
C void Z::fstatic(Z &objz){a=0;}
D void Z::fstatic(Z &objz){Z::a=0;}
4、若有以下类T的说明,函数ffriend的错误定义是()。
class T
{ int i;
friend void ffriend(T &,int);
};
A void ffriend(T &objt,int k){objt.i=k;}
B void ffriend(T &objt,int k){k=objt.i;}
C void T::ffriend(T &objt,int k){K+=objt.i;}
D void ffriend(T &objt,int k){objt.i+=k;}
5、在类定义的外部,可以被访问的成员有()。
A 所有类成员
B 私有或保护类成员C公有的类成员 D 公有或私有的类成员
6、关于this指针的说法正确的是()。
A this指针必须显式说明
B 定义一个类后,this指针就指向该类
C成员函数拥有this指针 D 静态成员函数拥有this指针
7、说明一个类的对象时,系统自动调用();撤销对象时,系统自动调用()。
A 成员函数B构造函数C析构函数 D 友元函数
8、下面对构造函数的不正确描述是()。
A 系统提供默认的构造函数B构造函数可以有参数,所以也可以有返回值
C 构造函数可以重载
D 构造函数可以设置默认参数
9、下面对析构函数的正确描述是()。
A 系统不提供默认的析构函数
B 析构函数必须由用户定义
C析构函数没有参数,也没有返回值 D 析构函数可以设置默认参数
10、关于类的静态成员的不正确描述是()。
A 静态成员不属于对象B静态数据成员要在类外定义和初始化
C 静态成员函数不拥有this指针,需要通过类参数访问对象成员
D 只有静态成员函数可以操作静态数据成员
11、下面的选项中,()不是类的成员函数。
A 构造函数
B 析构函数C友元函数 D 复制构造函数
12、下面对友元的错误描述是()。
A 关键字friend用于声明友元
B 一个类中的成员函数可以是另一个类的友元
C 友元函数访问对象的成员不受访问特性影响D友元函数通过this指针访问对象成员
13、下列关于运算符重载的描述中,()是正确的。
A 可以改变参与运算的操作数的个数
B 可以改变运算符原来的优先级
C 可以改变运算符原来的结合性D不能改变原运算符的语义
14、下列函数中,不能重载运算符的函数是()。
A成员函数 B 构造函数 C 普通函数 D 友元函数
15、下面关于类型转换的描述中,错误的是()。
A 构造函数可以把一种类类型对象转换成另一种类类型对象
B构造函数可以把一种类类型对象转换成基本类型对象
C 类型转换函数可以把类类型对象转换为其他指定类型对象
D 类型转换函数只能定义为一个类的成员函数,不能定义为类的友元函数。
阅读下列程序,写出执行结果
1、
class A
{ public:
int f1();
int f2();
void stex(int m){x=m; cout< void stey(int n){y=n; cout< int getx(){return x;} int gety(){return y;} private: int x,y; }; int A::f1(){return x+y;} int A::f2(){return x-y;} void main() { A a; a.setx(10); a.sety(5); cout< cout< } 运行结果: 10 5 10 5 15 5 Press any key to continue