永发信息网

c++选择题1

答案:2  悬赏:0  手机版
解决时间 2021-02-26 12:07
  • 提问者网友:欺烟
  • 2021-02-26 04:57
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] 任意个
最佳答案
  • 五星知识达人网友:雾月
  • 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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯