|

 下面程序错误的语句是()
①#include
②void main()
③{
④int*p=new int[1];
⑤p=9;
⑥cout <<*p< ⑦delete[]p
⑧}
A:④
B:⑤
C:⑥
D:⑦
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
A:ios::in
B:ios::out
C:ios::int | ios::out
D:没有
下列有关类继承的叙述中,错误的是()
A:继承可以实现软件复用
B:虚基类可以解决由多继承产生的二义性问题
C:派生类构造函数要负责调用基类的构造函数
D:派生类没有继承基类的私有成员
类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:友元函数不能访问类的私有成员
决定C++语言中函数的返回值类型的是
A:return语句中的表达式类型
B:调用该函数时系统随机产生的类型
C:调用该函数时的主调用函数类型
D:在定义该函数时所指定的数据类型
考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是()
A:test(5);
B:test(5,8);
C:test(6,"#")
D:test(0,0."*");
有如下程序:
#include
class BASE{
char c;
public:
BASE(char n):c(n){}
virtual~BASE(){cout<<C;}
};
class DERIVED:public BASE{
char c;
public:
DERIVED(char n):BASE(n+1),c(n){}
~DERIVED(){cout
A:XY
B:YX
C:X
D:Y
不能作为重载函数的调用的依据是
A:参数个数
B:参数类型
C:函数类型
D:函数名称
有如下类定义:
class Point{
private;
static int how_many;
};
____ how_many=0;
要初始化Point 类的静态成员how_many,下划线处应填入的内容是()
A:ing
B:static int
C:int Point::
D:static int Point::
下面程序的运行结果为()。
#include
class A
{
public:
A(){cout<<”1”;}
~A(){cout<<”2”;}
}
class B:public A
{
public:
B(){cout<<”3”;}
~B(){cout<<”4”;}
}
void main()
A:1234
B:1324
C:1342
D:3142
在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()
A:fail
B:eof
C:bad
D:good
有如下类和对象的定义:
class Constants{
public;
static double getPI(){return 3.1416;}
};
Constants constants;
下列各组语句中,能输出3.1416 的是()
A:cout<<constants->getPI();和cout<<Constants::gerPI();
B:cout<<constants.getPI();和cout<<Constants.getPI();
C:cout<<constants->getPI();和cout<<Constants->getPI();
D:cout<<constants.getPI();和cout<<Constants::getPI();
下列哪种函数可以是虚的()
A:自定义的构造函数
B:拷贝构造函数
C:静态成员函数
D:析构函数
C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()
A:增加了一些新的运算符
B:允许函数重载,并允许设置缺省参数
C:规定函数说明符必须用原型
D:引进了类和对象的概念
下面关于指针变量和引用变量的说法正确的是
A:指针变量存放的是内存地址,并且可以置为0
B:定义引用变量时,必须同时指明具体被引用的对象或变量
C:使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D:类中的数据成员可以是指针变量,但不能是引用变量
模板定义中的类型参数可以用作()
A:局部变量类型
B:函数参数类型
C:函数返回值类型
D:数据成员类型
关于异常和C++提供的异常处理机制正确的说法是()
A:若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现
B:使用dynamic_cast操作符可能会产生异常
C:异常可以用catch进行捕获处理
D:异常可以是对象,也可以是普通整数
关于构造函数说法正确的是()
A:函数名只能是类名
B:返回类型可以是任意的
C:参数个数和类型可以是任意的
D:在对象创建时自动调用
赋值运算符重载函数与拷贝构造函数的区别是什么()
A:都是拷贝一个类的对象给另一个同类型的类的对象
B:拷贝构造函数是用已存在的对象的各成员的当前值来创建一个相同的新对象
C:赋值运算符重载函数要把一个已存在对象的各成员的当前值赋给另一个已存在的同类对象
函数体内声明的静态变量,至多只会被初始化一次
A:错误
B:正确
抽象类不可以继承,只能派生
A:错误
B:正确
对于同一个类中的两个非静态成员函数,它们的函数的名称、参数类型、参数个数、参数顺序以及返回值的类型不能完全相同
A:错误
B:正确
构造函数的初始化列表中的内容,不会影响构造对象中成员数据的初始化顺序。
A:错误
B:正确
构造函数和析构函数都可以重载
A:错误
B:正确
|
|