C++测试题

 

1、  下面关于类概念的描述中,___D_是错误的。

A.类是抽象数据类型的实现

B.类是具有共同行为的若干对象的统一描述体

C.类是创建对象的样板

D.类是C语言中的结构体类型

 

2、下列对重载函数的描述中,__A__是错误的。

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

B.重载函数中编译是根据参数表进行选择//与返回值无关,只和函数入口有关

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

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

 

3、有以下类的说明,请指出错误的地方。

Class sample

{

int a=2.5;//改为int a;

sample();

public:

 sample(int val);

~sample();

};

 

4、有关析构函数的说法不正确的是_C___。

A、析构函数有且只有一个

B、析构函数无任何函数类型

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

D、析构函数的作用是在对象被撤消时收回先前分配的内存空间

 

 

5、下列说法中正确的是___B_。

A.类定义中只能说明函数成员的函数头,不能定义函数体

B.类中的函数成员可以在类体中定义,也可以在类体之外定义

C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中

D.在类体之外定义的函数成员不能操作该类的私有数据成员

   

 

6、下列定义中,sample是一个类,___B_是定义指向对象数组的指针P。

A. sample *p[5]

B. sample (*p)[5]

C. (sample *p)p[5]

D. sample *p[]

 

7、下列程序的执行结果是

Class sample

{

Public:

   Sample(){cout<<”constructor”<<endl;}

};

Void fn(int i)

{

       Staticsample c;

Cout<<”i=”<<i<<endl;

}

Void main()

{

       fn(10);

   fn(20);

}

--------

constructor

i=10

i=20

 

8、改正下列程序中的错误

Class point

{

   intx,y;

   public:

   point(intx,int y);

};

Void main()

{

   Pointdata(5,5);

   Cout<<data.x<<endl;

   Cout<<data.y<<endl;

}

------

class point

{

   public:

   point(int a,int b){x=a;y=b;}

   int x,y;

};

int main()

{

   point data(5,5);

   cout<<data.x<<endl;

   cout<<data.y<<endl;

   return 0;

}

9、找出程序中的错误,并说明原因

Class sample

{

       Public:

Static voidf(sample my);

Private: int n;

};

Void sample::f()

{

       Cout<<n<<endl;

}

-------------

静态成员函数不可以访问非静态成员。

10、阅读以下程序,找出错误的地方,并说明原因。

Class sample

{

       intx,y,c;

public:

       sample(inti=0,int j=0);

void f() const;

};

Voidsample::f() const

{

       Cout<<x<<””<<y<<endl;

c++;

}

-------

Const函数不可以改变变量的值<

  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值