1.选择试题2.注册/登陆3.开始答题4.提交试卷5.查看成绩6.答案解析
您的位置:模考吧在线考试中心 > 职业资格 > 软件 > C++ > 确认进入考试
c++基础 第一次考试
试卷预览
第 1 题:单选题:

 #include<iostream>打印结果是多少

   using namespace std;

   class A1{

   public:

    int a;

    static int b;

    A1();

    ~A1();

   };

   int main()   {   cout << sizeof(A1) <<endl;   }

A .8        B.4

C.0         D.1     

         

 

第 2 题:单选题:

下面函数原型声明中,( )声明了fun为纯虚函数

A .   void fun()=0;         

B   virtual void fun()=0;         

C   virtual void fun();       

D   virtual void fun(){};

 

第 3 题:单选题:

关于this指针的说法错误的是(   )

A. this指针必须显示说明              

B. 当创建一个对象后,this指针就指向该对象

C. 成员函数拥有this指针              

D. 静态成员函数不拥有this指针

第 4 题:单选题:

类模板的声明语句中,正确的是

 A.template<T> class Sample {…};

 B.template<class T1, T2> class Sample {…};

 C.template<typename T1, class T2> class Sample {…};

 D.template<Class T> Sample {…};

第 5 题:单选题:

 对于有继承关系的父类的构造函数,下面的(   )是正确的。

A、构造函数可以通过虚基类的形式被继承。

B、public的构造函数可以被继承。

C、父类如果没有写构造函数,子类是无法构造的。

D、构造函数必须定义成非私有成员。

第 6 题:单选题:

有关析构函数的错误的说法是(   )。

A、一个类的析构函数有且只有一个。   

B、析构函数无函数类型。

C、析构函数和构造函数一样,可以有形参。

D、析构函数的作用是在对象生命期结束时,收回分配给其的内存空间。

第 7 题:单选题:

 关于类的友元函数的下述描述中,(   )是正确的。

A、友元函数可以被继承。

B、一个类的友元函数可以访问这个类的所有成员。   

C、一个类的友元函数必须在这个类中定义成内联函数。

D、一个类的友元函数的返回类型必须是这个类的类型标识符。

第 8 题:单选题:

 C++对C语言做了很多改进,下列描述中(    )使得C语言发生了质变,即从面向过程变成面向对象。

A、增加了一些新的运算符

B、允许函数重载,并允许设置默认参数

C、规定函数说明必须用原型

D、引进类和对象的概念

第 9 题:单选题:

下列C++标点符号中表示一条预处理命令开始的是   ( )    。

A、#      B、//          C、}     D、;

第 10 题:单选题:

 下列关键字中,(     )即在C语言中使用,又在C++语言中使用。

A、inline

B、break

C、private

D、public

第 11 题:单选题:

 下列不正确的选项是()    。

A、C++语言是一种面向对象的程序设计语言,它支持面向对象思想中的3个主要特征     

B、标点符号是在程序中起分割内容和界定范围作用的一类单词     

C、iostream 是一个标准的头文件,定义了一些输入输出流对象

D、类与类之间不可以进行通信和联络

第 12 题:单选题:

 下面说法错误的选项是(     )。

A、引用表达式是一个左值表达式,因此它可以出现在形参和实参的任何一方

B、若一个函数返回了引用,那么该函数的调用也可以被赋值

C、析构函数可以返回引用              

D、引用返回值时,不生成值的副本

第 13 题:单选题:

 下列引用的定义中,(     )是错误的。

A、int i;      int &j=i;      

B、int i;      int &j;      j=i;

C、float i;      float &j=i;

D、char d;        char &k=d;

第 14 题:单选题:

对定义重载函数的下列要求中,( )是错误的。

A、要求参数的个数不同     

B、要求参数中至少有一个类型不同

C、要求参数个数相同时,参数类型不同  

D、要求函数的返回值不同

第 15 题:单选题:

 下面函数调用语句中实参的个数是()。

xxx((v1,v2),(v3,v4,v5),v6);

A、3     B、4            C、5         D、6

第 16 题:单选题:

  若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()       

A、extern      B、register        C、auto         D、static

第 17 题:单选题:

下列对重载函数的描述中,()是错误的。

A、重载函数中不允许使用默认参数     

B、重载函数中编译时根据参数表进行选择

C、不要使用重载函数来描述毫无相干的函数   

D、构造函数重载将会给初始化带来多种方式

第 18 题:单选题:

 考虑下面的函数原型:void testDefaulParam(int a,int b=7,char z='*');

下面函数调用中不合法的()。

A、testDefaulParam(5);       

B、testDefaulParam(5,8);

C、testDefaulParam(5,'#');      

D、testDefaulParam(0,0,'*');

第 19 题:单选题:

  要求通过函数来实现一种不太复杂的功能,并且要加快执行速度,选用()。

A、内联函数    B、重载函数   C、递归函数     D、嵌套函数

第 20 题:单选题:

 类A是类B的友元,类B是类C的友元,则()是正确的.

A、类B是类A的友元        

B、类C是类A的友元

C、类A是类C的友元        

D、以上都不对

第 21 题:单选题:

已知类X中的一个成员函数说明如下:

Void Set(X &a);

其中,X&a的含义是().

A、指向类X的指针为a

B、将a的地址赋给变量Sst

C、a是类X的对象引用,用来做为Set()的形参

D、变量X是a按位相与作为函数Set()的参数

第 22 题:多选题:

下列代码错误的中有错 ,错在哪里()

typedef  vector  IntArray;

IntArray  array;

array.push_back( 1 );

array.push_back( 2 );

array.push_back( 2 );

// 删除array数组中所有的2

for( IntArray::iterator itor=array.begin(); itor==array.end(); ++itor ){

    if( 2 == *itor ) array.erase( itor );

}

A  typedef  vector  IntArray;        B. array.push_back( 1 );

C.for( IntArray::iterator itor=array.begin(); itor==array.end(); ++itor ){

D.   if( 2 == *itor ) array.erase( itor );

E. 都错了

第 23 题:多选题:

在以下有关C++类的描述中,正确的是

 A.C++语言引入类主要起两个作用,作为数据封装机制和作为类型定义机制

 B.C++类中定义的数据和函数分别称为数据成员和成员函数

 C.C++类作为数据封装机制,将数据及作用于数据的操作组织在一起,实现了信息隐藏

 D.C++类中的成员可分为四种:公有成员、保护成员、私有成员和友元

第 24 题:多选题:

下面哪些运算符不能被重载? ( )

A. 做用域运算符“::”

B. 对象成员运算符“.”

C. 指针成员运算符“->”

D. 三目运算符“? :”

第 25 题:单选题:

下列虚基类的声明中正确的是(   )

A. class virtual B:public A  B.virtual class B:public  

B. class B:public A virtual  D.class B: virtual public A

 

第 26 题:多选题:

什么时候需要“引用”?

A.拷贝构造函数的参数:

B.赋值操作符“=”的返回值

C.赋值操作符“=”的参数

D.流操作符“<<”和“>>”

第 27 题:多选题:

C++的三个特征是()

A.派生

B.多态

C.继承

D.封装

第 28 题:单选题:

.可以用p.a的形式访问派生类对象p 的基类成员a其中a是(       )

A.私有继承的公有成员

B.公有继承的私有成员

C.公有继承的保护成员

D.公有继承的公有成员

第 29 题:单选题:

下面程序段中,说法正确的是(      )

class location{

public :

int GetX();

};

class rectangle:private location {

public:

int GetW();

};

A.类rectangle私有派生类 location

B.类rectangle中的public成员在类 location中是私有的

C.类location中的public成员在类  rectangle中是不可访问的

D. viod f( ) {Rectangle r;Int X=r .GetX( );}其中int X = r .GetX( );是非法语句

第 30 题:单选题:

下列程序段中具有相同值的是(       )

class Base {int b;};

class Base1:virtual public base{int b1;};

class Base2:virtual public base{int b2;};

class derived:publiic base 1,public base 2{int b3;};

derived d;

A.d.b与 d.base1::b

B. d.base1::b与 d.base1::b1

C. d.b与 d. b3

D. d.base:2:b与 d.base2::b2

第 31 题:单选题:

指向类X中类型为type的数据成员的指针的说明形式为(    )

A、 type X::*pointer

B、 x::type*pointer

C、 type *X::pointer

D、 X::*tyoe pointer

第 32 题:单选题:

下面是类MyClass的定义,对定义 中各语句描述正确的是(     )

class MyClass   {

private:

  int X,y,Z;

public;

coid MyClass(int A、{X=a;}         file://①

int f(int a,int B)   {                file://②

X=a;

Y=b;}

Int f(int a,int b,int c=0)                file://③

{X = a;

Y=b;

Z=c;}

Static coid g() {X=10;}             file://④

A) 语句①是类MyClass的构造函数定义

B) 语句②和语句③实现类成员函数的重载

C) 语句④实现对类成员变量X的更新操作

D)语句①②③和④都不正确

做了该试卷的考友还做了