(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函数,越详细越好