|

 对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是
A:公有类型
B:私有类型
C:保护类型
D:友元类型
有如下定义:int a[5]={1,3,5,7,9},*p=a;下列表达式中不能得到数值5 的是()
A:a[2]
B:a[3]
C:*(p+2)
D:*p+4
下面关于new?和delete操作符的说法,哪个是不正确的()
A:使用new操作符,可以动态分配全局堆中的内存资源
B:若p的类型已由A*强制转换为void?*,那么执行语句delete?p;时,类A的析构函数不会被调用
C:实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中
D:执行语句A?*?p=new?A[100];时,类A的构造函数只会被调用1次
下面对静态数据成员的描述中,正确的是()
A:静态数据成员可以在类体内进行初始化
B:静态数据成员不可以被类的对象调用
C:静态数据成员不能受private控制符的作用
D:静态数据成员可以直接用类名调用
下列程序的输出结果为()#include
void main()
{
char,a[]={”hello",”the",”world”};
char**pa=a:
pa++;
cout<<*pa<
}
A:hello
B:the
C:world
D:hellotheworld
已知Value 是一个类,Value 是Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()
A:Value operator+(Value v, int i);
B:Value operator+(Value v=value, int i);
C:Value operator+(Value vint i=0);
D:Value operator+(Value v=value, int i=0);
在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()
A:main
B:MAIN
C:name
D:Function
设int x;,则经过( )后,语句*px=0;可将x值置为0
A:int * px;
B:int const * px=&x;
C:int * const px=&x;
D:const int * px=&x;
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
A:ios::in
B:ios::out
C:ios::int | ios::out
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
假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为()
A:AB operator+(AB & a , AB & b)
B:AB operator+(AB & a)
C:operator+(AB a)
D:AB & operator+( )
在下面的函数声明中,存在着语法错误的是
A:void??BC(int??a?,?int)
B:void??BD(int?,?int)
C:void??BE(int?,?int=5)
D:int??BF(int??x?;?int??y)
假定AB为一个类,则该类的拷贝构造函数的声明语句为
A:AB?&(AB??x)
B:AB(AB??x)
C:AB(AB??&)
D:AB(AB?*?x)
下面程序的运行结果为()。
#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
下面关于指针变量和引用变量的说法正确的是
A:指针变量存放的是内存地址,并且可以置为0
B:定义引用变量时,必须同时指明具体被引用的对象或变量
C:使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D:类中的数据成员可以是指针变量,但不能是引用变量
在类的静态成员函数的实现体中,可以访问或调用()
A:本类中的静态数据成员
B:本类中非静态的常量数据成员
C:本类中其它的静态成员函数
D:本类中非静态的成员函数
关于类中重载赋值运算符的正确说法是()
A:由编译器提供的缺省赋值函数具有public访问性并且执行按位赋值
B:在重载派生类的赋值操作时,不但要实现派生类中数据成员的赋值,还要负责基类中数据成员的赋值
C:只有在类中含有指针数据成员或引用数据成员时,才需要重载类的赋值操作
D:通过修改类A的声明或定义,可以禁止用户在类A对象间进行任何赋值操作
关于构造函数说法正确的是()
A:函数名只能是类名
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:正确
多态的实现分为两类:编译时的多态和运行时的多态
A:错误
B:正确
设int fp(char a,int b=0,double c=100.0);,则可以定义重载函数 int fp(char,int);
A:错误
B:正确
面向对象程序设计通过继承和重载两种机制实现多态
A:错误
B:正确
对于同一个类中的两个非静态成员函数,它们的函数的名称、参数类型、参数个数、参数顺序以及返回值的类型不能完全相同
A:错误
B:正确
|
|