当前位置:编程学习 > C/C++ >>

(2)求解一套C++题,高悬赏

在C++中函.下面对于指针的描述不正确的是( )。
A.指针是地址变量
B.指针不能用除0以外的常量赋值
C.两个指针变量的加减法无意义
D.指针指向不同基类型的变量长度不同

2.下面对于析构函数的描述中不正确的是( )。
A.析构函数是内置函数
B.析构函数与类名相同
C.析构函数不能有参数
D.析函数在对象撤销时自动执行

3.下列指针用法中错误的是( )。
A. int i;int*ptr=&i;
B. int i;int *ptr;i=*ptr;
C. int *ptr;ptr=0;
D. int i=5;int *ptr;*ptr=i;

4.派生类的对象对它的基类成员中什么是可访问的( A )?
A.公有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.私有继承的公有成员

        

1.有关C++编译指令,以下叙述正确的是( )

A.C++每行可以写多条编译指令

B. #include指令中的文件名可含有路径信息

C.C++的编译指令可以以#或//开始

D.C++中不管#if后的常量表达式是否为真,该部分都需要编译

2.在C++中把不返回任何类型的函数应该说明为    ( )

A. int B. char

C. void D. double

3.以下有关析构函数的叙述不正确的是( )

A.析构函数没有任何函数类型

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

C.析构函数可以有形参

D.一个类只有一个析构函数

4.若Sample类中的一个成员函数说明如下:

voidset(Sample&a),则Sample&a的含义是( )

A.指向类Sample的名为a的指针

B.a是类Sample的对象引用,用来作函数Set()的形参

C.将a的地址赋给变量Set

D.变量Sample与a按位与的结果作为函数Set的参数

5.以下叙述错误的是( )

A.基类的保护成员在公有派生类中仍然是保护成员

B.基类的保护成员在派生类中仍然是保护成员

C.基类的保护成员在私有派生类中是私有成员

D.基类的保护成员不能被派生类的对象访问

6.假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为( )

A.X,Y;Y,X B.X,Y;X,Y

C.Y,X;X,Y D.Y,X;Y,X

7.下列虚基类的说明中,正确的是( )

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

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

8.要实现动态联编必须( )

A.通过成员名限定来调用虚函数 B.通过对象名来调用虚函数

C.通过派生类对象来调用虚函数 D.通过对象指针或引用来调用虚函数

9.在派生类中定义虚函数时,可以与基类中相应的虚函数不同的是( )

A.参数类型 B.参数个数

C.函数名称 D.函数体

1.面向对象程序设计中的数据隐藏指的是( D  )

A.输入数据必须输入保密口令 B.数据经过加密处理

C.对象内部数据和代码合并在一起 D.对象内部数据结构的不可访问性

2.在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是 (   )

A.int Fun(int x){return x*x;} B.inline int Fun(int x){return x*x;}

C.int inline Fun(int x){return x*x;} D.int Fun(int x){inline return x*x;}

3.下面关于重载函数的叙述中正确的是 (   )

A.重载函数必须具有不同的返回值类型

B.重载函数的形参个数必须不同

C.重载函数必须有不同的形参列表

D.重载函数的函数名可以不同

4.若有定义“int x=17;”,则语句“cout<<oct<<x;”的输出结果是(   )

A.11 B.0x11

C.21 D.021

5.下列关于析构函数的描述中正确的是(   )

A.析构函数可以重载 B.析构函数可以是虚函数

C.析构函数名与类名相同 D.析构函数的返回类型为void

6.下列关于纯虚函数的描述中,正确的是 (   )

A.纯虚函数是一种特殊的虚函数,它是个空函数

B.具有纯虚函数的类称为虚基类

C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数

D.具有纯虚函数的类不能创建类对象

7.下列关于运算符重载的描述中,正确的是 (   )

A.可以改变运算符的目数 B.可以改变运算符的优先级

C.可以改变运算符的结合性 D.可以改变运算符的功能

8.要将类A说明是类B的虚基类,正确的描述是 (   )

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

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

答案:在C++中函数,下面对于指针的描述不正确的是(D)。
A.指针是地址变量
B.指针不能用除0以外的常量赋值
C.两个指针变量的加减法无意义
D.指针指向不同基类型的变量长度不同
//指针变量的字节长度由操作系统决定,32位或64位,与它指向的基类类型无关

2.下面对于析构函数的描述中不正确的是(B)。
A.析构函数是内置函数
B.析构函数与类名相同
C.析构函数不能有参数
D.析函数在对象撤销时自动执行
//类myclass的析构函数名为~myclass

3.下列指针用法中错误的是(B)。
A. int i;int*ptr=&i;
B. int i;int *ptr;i=*ptr;
C. int *ptr;ptr=0;
D. int i=5;int *ptr;*ptr=i;
//指针变量ptr没有指向任何内存地址,不能对它进行*(取值操作)

4.派生类的对象对它的基类成员中什么是可访问的( A )
A.公有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.私有继承的公有成员
//A答案没有疑问
        

1.有关C++编译指令,以下叙述正确的是( B )

A.C++每行可以写多条编译指令

B. #include指令中的文件名可含有路径信息

C.C++的编译指令可以以#或//开始

D.C++中不管#if后的常量表达式是否为真,该部分都需要编译
//编译时可以包含本地路径

2.在C++中把不返回任何类型的函数应该说明为 ( C )

A. int B. char

C. void D. double
//其它都是C++的基本类型

3.以下有关析构函数的叙述不正确的是( C )

A.析构函数没有任何函数类型

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

C.析构函数可以有形参

D.一个类只有一个析构函数
//析构函数不能有形参,这是它和构造函数不同的地方

4.若Sample类中的一个成员函数说明如下:

voidset(Sample&a),则Sample&a的含义是( B )

A.指向类Sample的名为a的指针

B.a是类Sample的对象引用,用来作函数Set()的形参

C.将a的地址赋给变量Set

D.变量Sample与a按位与的结果作为函数Set的参数
//这里&作为引用类型来使用,&只有出现右值中时才可能作为取地址符使用

5.以下叙述错误的是( B )

A.基类的保护成员在公有派生类中仍然是保护成员

B.基类的保护成员在派生类中仍然是保护成员

C.基类的保护成员在私有派生类中是私有成员

D.基类的保护成员不能被派生类的对象访问
//保护成员在私有派生方式下成为私有成员

6.假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为( A )

A.X,Y;Y,X B.X,Y;X,Y

C.Y,X;X,Y D.Y,X;Y,X

7.下列虚基类的说明中,正确的是( B )

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

C.virtual class B:public A D.class B:public A virtual
//class B:virtual public A 表示类B虚继承类A,A是B的虚基类

8.要实现动态联编必须( D )

A.通过成员名限定来调用虚函数 B.通过对象名来调用虚函数

C.通过派生类对象来调用虚函数 D.通过对象指针或引用来调用虚函数
//指向基类的指针,可以调用派生类的虚函数,只要在调用前将派生类对象的地址赋给指针就可以,这是虚函数说的运行时确定,静态联编是编译时确定,如函数重载

9.在派生类中定义虚函数时,可以与基类中相应的虚函数不同的是( D )

A.参数类型 B.参数个数

C.函数名称 D.函数体


1.面向对象程序设计中的数据隐藏指的是( D )

A.输入数据必须输入保密口令 B.数据经过加密处理

C.对象内部数据和代码合并在一起 D.对象内部数据结构的不可访问性

2.在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是 ( B )

A.int Fun(int x){return x*x;} B.inline int Fun(int x){return x*x;}

C.int inline Fun(int x){return x*x;} D.int Fun(int x){inline return x*x;}
//inline在前,这是教科书定义的

3.下面关于重载函数的叙述中正确的是 ( C )

A.重载函数必须具有不同的返回值类型

B.重载函数的形参个数必须不同

C.重载函数必须有不同的形参列表

D.重载函数的函数名可以不同
//不同的形参列表包括以下组合:参数个数不同,参数类型不同

4.若有定义“int x=17;”,则语句“cout<<oct<<x;”的输出结果是( A )

A.11 B.0x11

C.21 D.021
//oct是将数字转换成八进制数

5.下列关于析构函数的描述中正确的是( B )

A.析构函数可以重载 B.析构函数可以是虚函数

C.析构函数名与类名相同 D.析构函数的返回类型为void
//虚析构函数和下面的纯虚函数以及虚基类是C++多态的重要组成部份

6.下列关于纯虚函数的描述中,正确的是 ( BCD )

A.纯虚函数是一种特殊的虚函数,它是个空函数

B.具有纯虚函数的类称为虚基类

C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数

D.具有纯虚函数的类不能创建类对象
//纯虚函数的声明:virtual classA myvf(int a,classB &r_b) = 0;
//具有纯虚函数的类称为抽象类

7.下列关于运算符重载的描述中,正确的是 ( D )

A.可以改变运算符的目数 B.可以改变运算符的优先级

C.可以改变运算符的结合性 D.可以改变运算符的功能
//目数和优先级,以及结合性不是能改变的,这是为了保证程序的一致性

8.要将类A说明是类B的虚基类,正确的描述是 (B)

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

C.virtual class B:public A D.class B:public A virtual
//B是基类,见题7

1-5 B B B D

6-9 A B D D

2-8 C B B D D B

答案:BACADCCABACBBDCCBDBDB

仅供参考

上一个:bat vbs c++ 的区别是什么?相同点又是什么?
下一个:C++:怎样使用printf函数,越详细越好

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,