|

 当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
A:ios::in
B:ios::out
C:ios::int | ios::out
D:没有
下列有关函数重载的叙述中,错误的是()
A:函数重载就是用相同的函数名定义多个函数
B:重载函数的参数列表必须不同
C:重载函数的返回值类型必须不同
D:重载函数的参数可以带有默认值
设void f1(int * m,long & n);int a;long b;则以下调用合法的是()
A:f1(a,b);
B:f1(&a,b);
C:f1(a,&b);
D:f1(&a,&b);
类的析构函数的作用是()
A:一般成员函数的初始化
B:类的初始化
C:对象的初始化
D:删除类创建的对象
假定AB为一个类,则该类的拷贝构造函数的声明语句为
A:AB?&(AB??x)
B:AB(AB??x)
C:AB(AB??&)
D:AB(AB?*?x)
下列程序的执行结果为()。
#include
void main()
{
int a=3,b=0;
int*p=&a:
b=+a++;
cout<<*P<<”,”<<endl
}
A:3,4
B:4,3
C:3,4
D:4,4
如果有如下语句 char str[20]; cin >> str; cout << str; 执行时输入的是“this is a test
line!”,则输出的内容是()
A:this is a test line!
B:this is a test line
C:this is atest
D:this
类C是以多重继承的方式从类A和类B继承而来的,类A和类B无公共的基类,那么()
A:类C的继承方式只能采用public继承
B:可改用单继承的方式实现类C的同样功能
C:类A和类B至少有一个是抽象类
D:类A和类B至少有一个是虚基类
下列有关模板的叙述中,正确的是()
A:函数模板不能含有常规形参
B:函数模板的一个实例就是一个函数定义
C:类模板的成员函数不能是模板函数
D:用类模板定义对象时,绝对不能省略模板实参
下列程序的运行结果为()。#include
void print(double a)
{
cout<<++a;
}
void print(int a,int b)
{
cout<<b<<a
}
void main()
{
print(1.2);
cout<<” ”;
print(3,4);
}
A:1.2?34
B:2.2?34
C:1.2?43
D:2.2?43
类B是通过public继承方式从类A派生而来的,且类A和类B都有完整的实现代码,那么下列说法正确的是()
A:类B中具有pubic可访问性的成员函数个数一定不少于类A中public成员函数的个数
B:一个类B的实例对象占用的内存空间一定不少于一个类A的实例对象占用的内存空间
C:只要类B中的构造函数都是public的,在main函数中就可以创建类B的实例对象
D:类A和类B中的同名虚函数的返回值类型必须完全一致
在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()
A:友元函数
B:虚函数
C:构造函数
D:析构函数
下面描述中,表达错误的是()
A:公有继承时基类中的public成员在派生类中仍是public的
B:公有继承是基类中的private成员在派生类中仍是private的
C:公有继承时基类中的protected成员在派生类中仍是protected的
D:私有继承时基类中的public成员在派生类中是private的
在下面的函数声明中,存在着语法错误的是
A:void??BC(int??a?,?int)
B:void??BD(int?,?int)
C:void??BE(int?,?int=5)
D:int??BF(int??x?;?int??y)
设int * p2=&x,* p1=a;p2= *b;则a和b的类型分别是()
A:int * 和int
B:int * 和int **
C:int 和int *
D:int * 和int *
关于公共静态数据成员,下面说法正确的是()
A:在main函数之前创建
B:跟某个具体对象无关
C:可以用类名和成员名直接访问
D:需要在类体外初始化
类A中有唯一的一个公有成员函数f,对于类A的一个对象a,执行语句 a.f(100);成功,那么f 的函数原型可以为
A:A& f( int, int=50);
B:void f(int&) const;
C:const A * f(const int );
D:A f( const int&) const;
关于构造函数说法正确的是()
A:函数名只能是类名
B:返回类型可以是任意的
C:参数个数和类型可以是任意的
D:在对象创建时自动调用
模板定义中的类型参数可以用作()
A:局部变量类型
B:函数参数类型
C:函数返回值类型
D:数据成员类型
关于类中重载赋值运算符的正确说法是()
A:由编译器提供的缺省赋值函数具有public访问性并且执行按位赋值
B:在重载派生类的赋值操作时,不但要实现派生类中数据成员的赋值,还要负责基类中数据成员的赋值
C:只有在类中含有指针数据成员或引用数据成员时,才需要重载类的赋值操作
D:通过修改类A的声明或定义,可以禁止用户在类A对象间进行任何赋值操作
静态成员变量所有的对象拥有一份拷贝
A:错误
B:正确
显式类型转换可以把一个变量转换成另外一种数据类型
A:错误
B:正确
多态的实现分为两类:编译时的多态和运行时的多态
A:错误
B:正确
C++程序的执行只能从main()函数开始,并在main()中结束
A:错误
B:正确
虽然抽象类的析构函数可以是纯虚函数,但要实例化其派生类对象,仍必须提供抽象基类中析构函数的函数体
A:错误
B:正确
|
|