第三章测试1.
( )的功能是释放一个对象,在对象删除之前,用它来做一些内存释放等清理工作,它的功能与构造函数的功能正好相反。
A:静态函数 B:构造函数 C:析构函数 D:友元函数
答案:A
2.
在堆中创建的数据对象称为( )。
A:堆对象 B:全局对象 C:其它都不是 D:静态对象 3.
在C++语言程序中,对象之间的相互通信通过调用( )函数实现。
A:析构 B:静态 C:构造 D:成员 4.
析构函数和构造函数两者的调用次序( )。
A:随机 B:相反 C:相同 D:其它都不对 5.
如果不定义析构函数,系统会自动生成一个默认的( )。
A:友元函数 B:析构函数 C:构造函数 D:静态函数 6.
以下程序的输出结果为( )
#include <iostream.h>
class Sample
{
int x;
public:
Sample(){cout<<(x=0);}
Sample(int i){cout<<(x=i);}
~Sample(){cout<<x<<endl;}
void disp(){cout<<x;}
};
void main()
{
Sample s(3);
int i=0;
if(i=0)
{
Sample s;
s.disp ();
}
}
A:22 B:24 C:33 D:34 7.
以下选项中是下列程序的输出结果的是( )
A:0 B:4 C:5 D:3 8.
下面选项中是以下程序输出结果的是( )
#include <iostream.h>
int add(int x, int y = 8);
void main()
{
int a = 6; cout << add(a, add(a)) << endl;
}
int add(int x, int y)
{
return x + y;
}
A:20 B:14 C:12 D:16 9.
下面程序的输出结果为( )
#include <iostream.h>
int p(int x = 4, int y = 5, int z = 6)
{
return x + y + z;
}
void main()
{
int a = 3, b = 4, c = 5; c = p(b, a);
cout << c;
}
A:13 B:11 C:15 D:12 10.
请选择出下面程序的输出结果( )
#include <iostream.h>
float f(float x, float y)
{
return x+y;
}
int f(int x, int y)
{
return x+y;
}
void main()
{
float a, b, c;
a = b = 50.5; c = f(a, b);
cout << c;
}
A:
100
B:50.5
C:100.5
D:101