第十一周:作业
一、选择题
1
.以下函数中不属于类成员函数的是
________
。
(
A
)构造函数
(
B
)析构函数
(
C
)友元函数
(
D
)拷贝初始化构造函数
2
.以下关于析构函数的描述中不正确的是
________
。
(
A
)析构函数是函数体为空的成员函数。
(
B
)一个类中只能定义一个析构函数。
(
C
)析构函数不带参数。
(
D
)析构函数不能指定类型。
3
.关于静态数据成员的描述不正确的是
________
。
(
A
)静态数据成员在类体外初始化。
(
B
)静态数据成员是所有对象共有的成员。
(
C
)静态数据成员初始化时一定要在前面加修饰符
static
。
(
D
)静态数据成员在内存中占有固定内存。
4
.已知
p
是一个指向类
A
的数据成员
m
的指针,
a1
是类
A
的一个对象。则给
m
赋值为
5
的正确形式为
________
。
(
A
)
a1.p=5
(
B
)
a1->p=5
(
C
)
a1.*p=5
(
D
)
*a1.p=5
5
.假设
person
是一个类,
p1
是该类的一个对象,
p2
是指向
p1
的指针,
getname
是该类的
一个成员函数,则以下不正确的表达是
________
。
(
A
)
person.getname( );
(
B
)
p1.getname( )
(
C
)
p1.person::getname( );
(
D
)
p2->getname( )
6
.友元的作用是
________
。
(
A
)增加函数的种类
(
B
)实现数据的隐藏性
(
C
)加强类的封装性
(
D
)提高程序的运行效率。
二、阅读程序,写出结果
1
.
#include "iostream.h"
class A
{private:
int a,b;
public:
A()
{a=b=0;
cout<<"con1 called.\n";
}
A(int m)
{a=b=m;
cout<<"con2 called.\n";
}
A(int m,int n)
{a=m;b=n;
cout<<"con3 called.\n";
}