1. 下列关于C语言和C++语言关系的描述中,错误的叙述是 。
[A] 一个类可以有多个重名的成员函数 [B] 一个类的所有对象都有各自的数据成员,但是成员函数是共享的
[C] 在一个类中,可以说明多个构造函数和多个析构函数 [D] 在一个类中可以声明另一个类的对象作为它的数据成员
2. 下列叙述中不正确的是 。
[A] C++保持了与C语言的兼容 [B] C语言和C++语言都是面向对象的 [C] C语言是C++语言的一个子集 [D] C++语言是在C语言的基础上发展而来的
3. 下面概念中,不属于面向对象方法的是 。
[A] 对象 [B] 继承 [C] 类 [D] 过程调用
4. 在C++中,数据封装要解决的问题是 。
[A] 数据的规范化 [B] 便于数据转换
[C] 避免数据丢失 [D] 防止不同模块之间数据的非法访问
5. C++语言,程序是从函数 开始执行的。
[A] function [B] main [C] name [D] procedure
6. 已知:int m=10;在下列定义引用的语句中,正确的是 .
[A] int &x=m; [B] int y=&m; [C] int &z; [D] int &t=&m;
7. 下列关于类和对象的叙述中,错误的是 。
[A] 一个类只能有一个对象 [B] 对象是类的具体实例
[C] 类是对某一类对象的抽象 [D] 类和对象的关系是一种数据类型和变量的关系
8. 有如下类的声明:
Class Foo { int bar; };
则Foo类的成员bar是
[A] 公有数据成员 [B] 公有成员函数 [C] 私有数据成员 [D] 私有成员函数
9. 为了使类中的成员不能被类外的函数通过成员操作符访问,则不应把该成员的访问权限定义为 。
[A] public [B] protected [C] private [D] static
10. 对于任一个类,用户能定义的析构函数的个数至多为 。
[A] 0 [B] 1 [C] 2 [D] 任意个
c++选择题1
答案:2 悬赏:0 手机版
解决时间 2021-02-26 12:07
- 提问者网友:欺烟
- 2021-02-26 04:57
最佳答案
- 五星知识达人网友:雾月
- 2021-02-26 06:33
1.b 首先不能建立数组的引用,但是可以建立指针的引用,类对象当然能被引用,只有变量可以建立引用,类型是不能建立引用的,所以答案是b。 2.c 引用在声明时就必须初始化,并且只能用对象名作为右值,所以无名对象是不能用来初始化对象引用的。 3.a 析构函数无参数,无返回值,并且函数名约定为~+类名。 4.d D是明显的错误,类的静态数据成员是类所共享的,不是对象所共享的。 5.c 拷贝构造函数的原型约定为:类名& 类名(const 类名& m_const_reference) 形参为是我随便写的。 6.a 公有继承的公有成员,是一定能够访问的。 7.c 只有C是正确的,而且也是虚函数的特征。 8.d 纯虚函数的原型是:virtual void my_virtual_function(char c)=0; 因此它是没有函数实体的。 9.d 排除法,a,b,c都对,而且new初始化数组时,无法指定初值。 10.c C是明显的错误,而且是至命的错误,切忌对一个指针多次delete。 希望可以帮到你~
全部回答
- 1楼网友:平生事
- 2021-02-26 07:27
一.选择题:
1.说明函数int method a (floct)是友元函数应为(a):
a)friend int method a a (floctz)
b): friend int method a (floctz)
c): int friend a (floctz) friend
d): int method a friend (floctz)
2.对于下面的几个函数:
void f(int x) (…) 1/1
int f(int y) (…)1/2
int f(int i,int j(…))1/3
floct k(int x) (…)(c)是重载函数。
a):4个全部
b):1和4
c):2和3
d):3和4
3.c++语言是从早期的c语言逐渐发展演变来的,与c语言相比,它在求解问题方法上进行最大改进的是(b):
a):面向过程
b):面向对象
c):安全性
d):复用性
4.下列有关重载函数的说法中正确的是(c):
a):重载函数必须具有不同的返回值类型。
b):重载函数参考个数必须相同
c):重载函数必须有不同的行参列表
d):重载函数名可以不同
5.下列关于构造函数的描述中,错误的是(d):
a):构造函数可以设置默认的参数
b):构造函数在定义类对象的自动执行
c):构造函数可以是内联函数
d):构造函数不可以重载
6.下列描述中,表达错误的是(b):
a):公有继承的基类中的public成员在派生类中仍是public的
b):私有继承的基类中private成员在派生类中仍是private的
c): 公有继承的基类中的protected成员在派生类中仍是protected的
d): 私有继承的基类中public成员在派生类中是private的
7.应在下列程序画线处填入的正确语句是(c)
#include<iostream>
class base
{ public:
void fun(){cout<<”base.fun”<<endl;}
}:
class perived: public base
{void fun ()
{
//显示调用基类的函数fun()
cout<<”perived::fun”<<endl;
}
};
a)fun();
b):bas fun();
c):base::fun();
d):base→fun();
8.下面有关new和delete操作符的说法。哪个是正确的(d)
a):使用new操作符,可以动态分配全局堆中的内存资源
b):若p的类型已由a强制转换为void*,那么执行语句delete p*时,类a的析构函数不会被调用。
c):实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中。
d):执行语句a*p=new
a[100]时,类a的构造函数只会被调用一次。
9.下列哪种用法不能体现类a和类b之间的组合关系(d):
a):类a中声明数据成员bb.
b): 类a中声明数据成员b*b;
c):没答案
d):类a中声明数据成员b fun(b&.obj);
10.类c是以多重继承的方式从类a和类b继承而来的,类a和类b无公共的基类,那么(b);
a):类c的继承方式只能采用public继承。 b):可改用单继承的方式实现类c的功能。
c):类a和类b至少有一个是抽象类。
d):类a类b只少有一个是虚基数。
12.类a有一个实例化的常量对象a,那么下面说法中不正确的是(a):
a):类a中的非静态数据成员一定都是常量成员。
b):通过a可以直接调用类a的常量成员函数。
c):a不能直接作为存值使用。
d):a可以是静态常量对象。
13.下列哪种函数可以是虚的(d)
a):自定义的构造函数。b):拷贝构造函数。 c):静态成员函数。 d):析构函数。
14.类b是通过public继承的方式从类a派生而来的。且类a和类b都有完整的实现代码,那么下列说法正确的是(a):
a):类b中具有public可访问性的成员函数个数。一定不少于类a中的public成员函数的个数。
b):一个类b的实例对象占有的内存空间一定不少于类a中的实例对象占有的空间。
c):只要类b中的构造函数都是public的,在main函数中。
d):类a和类b中是同名函数。
15.关于异常和c++提供的异常处理机制。不正确的说法是(a)。
a):若程序员预见到程序的异常,则一定可以通过修改程序代码来避免异常出现。
b):使用dyname cast操作符可能会发生异常。
c):异常可以用catch捕获处理
d):异常可以是对象,也课题是普通函数。
我有点,要的话,可以加我的qq313586148
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯