C++ 类的定义相关选择题及其答案

1、有以下程序:

#include<iostream>
using namespace std;
class A{
public:
A(){cout<<"A";}
};
class B{public:B(){cout<<"B";}};
class C:public A{
B b;
public:
C(){cout<<"C";}
};
int main(){ C obj;  return 0;}

将会输出()【 答案: D】
A CBA
B BAC
C ACB
D ABC

2、下列( )不是构造函数的特征 【 答案: D】
A 构造函数的函数名和类名相同
B 构造函数可以重载
C 构造函数可以设置默认参数
D 构造函数必须指定类型说明

3、有关构造函数的说法不正确的是( ) 【 答案: D】
A 构造函数的名字和类的名字一样
B 构造函数在声明类变量时自动执行
C 构造函数无任何函数类型
D 构造函数有且只有一个

4、类的构造函数被自动调用执行的情况是在定义该类的( )时 【 答案: C】
A 成员函数
B 数据成员
C 对象
D 友元函数

5、有如下类声明:

class base{int x;
public:base(int n){ x=n;}
};
class derived: public base{int y;
public:derived(int a,int b);
};

下列对构造函数derived的定义,正确的是 【 答案: A】。

(a) derived::derived(int a,int b):base(a),y(b){}

(b) derived::derived(int a,int b):x(a),y(b){}

(c) derived::derived(int a,int b):base(a),derived(b){}

(d) derived::derived(int a,int b):x(a),derived(b){}

6、有以下程序:

#include<iostream>
using namespace std;
class BASE{
public:
~BASE(){cout<<"BASE";}
};
class DERIVED:public BASE{
public:
~DERIVED(){cout<<"DERIVED";}
};
int main(){DERIVED x; return 0;}

执行程序的输出结果是() 【 答案: D】

A BASE
B DERIVED
C BASEDERIVED
D DERIVEDBASE

7、( )是析构函数的特征 【 答案: A】
A 一个类中只能定义一个析构函数
B 析构函数名与类名没任何关系
C 析构函数的定义只能在类体内
D 析构函数可以有一个或多个参数

8、对于任意一个类,析构函数的个数最多为( ) 【 答案: B】
A 0
B 1
C 2
D 3

9、在下列函数原型中,可以作为类AA构造函数的是 【 答案: D】
A void AA(int)
B int AA()
C AA(int)const
D AA(int)

10、、

class Point{int x_,y_;public:Point():x_(0),y_(0){}Point(int x,int y=0):x_(x),y_(y){}
};

若执行语句:

Point a(2),b[3],*c = new Point(3);

则Point类的构造函数被调用的次数是() 【 答案: D】
A 两次
B 三次
C 四次
D 五次

11、在公有派生的情况下,派生类中定义的成员函数只能访问原基类的 【 答案: C】
A 公有成员和私有成员
B 私有成员和保护成员
C 公有成员和保护成员
D 私有成员、保护成员和公有成员

12、下面叙述不正确的是 【 答案: A】
A 基类的保护成员在派生类中仍然是保护的
B 基类的保护成员在公有派生类中仍然是保护的
C 基类的保护成员在私有派生中仍然是私有的
D 对基类成员的访问必须是无二义性的

13、下面叙述不正确的是 【 答案: D】
A 为了充分利用现有类,派生类一般使用公有派生
B 对基类成员的访问必须是无二义性的
C 赋值兼容规则也适用于多重继承的场合
D 基类的公有成员在派生类中仍然是公有的

14、在下面的类定义中,错误的语句是( )

class sample
{public:sample( int val);  //①
~  sample();      //②
private:int a=2. 5;       //③
sample();        //④

【 答案: C】
A ①②③④
B ②
C ③④
D ①②③

15、有以下类定义:

class SAMPLE
{int n;
Public:SAMPLE(int i=0):n(i){}void setValue(int n0);
};

下列关于setValue成员函数的实现正确的是()。 【 答案: B】
A SAMEPLE::setValue(int n0){n=n0;}
B void SAMEPLE::setValue(int n0){n=n0;}
C void setValue(int n0){n=n0;}
D setValue(int n0){n=n0;}

16、

#include<iostream>
using namespace std;
class Base{
protected:
Base(){cout<<'A';}
Base(char c){cout<<c;}
};class Derived:public Base{
public:
Derived(char c){cout<<c;}
};
int main()
{
Derived d1('B');
return 0;
}

执行这个程序屏幕上将显示 【 答案: C】
A B
B BA
C AB
D BB

17、

#include<iostream>
using namespace std;
class Base
{
private:void fun1()const{cout<<"fun1";}
protected:void fun2()const{cout<<"fun2";}
public: void fun3()const{cout<<"fun3";}
} ;
class Derived:protected Base
{
publc:void fun4()const{cout<<"fun4";}
};
int main()
{Derived obj;obj.fun1();     //①obj.fun2();     //②obj.fun3();     //③obj.fun4();     //④return 0;
}

其中有语法错误的语句是(  )。 【 答案: B】
A ①②③④
B ①②③
C ②③④
D ①④

18、有以下类定义:

class XA
{
int x;
public:
XA(int n){x=n;}
};
class XB:public:XA
{
int y;
public:
XB{int a,int b};
};

【 答案: B】
A XB::XB(int a,int b):x(a),y(b){}
B XB::XB(int a,int b):XA(a),y(b){}
C XB::XB(int a,int b):x(a),XB(b){}
D XB::XB(int a,int b):XA(a),XB(b){}

19、在派生类构造函数的初始化列表中不能包含() 【 答案: C】
A 基类的构造函数
B 基类对象成员的初始化
C 派生类对象成员的初始化
D 派生类中新增数据成员的初始化

20、在一个派生类对象结束其生命周期时() 【 答案: A】
A 先调用派生类的析构函数,后调用基类的析构函数
B 先调用基类的析构函数,后调用派生类的析构函数
C 如果基数没有定义析构函数,则只调用派生类的析构函数
D 如果派生类没有定义析构函数,则只调用基类的析构函数

21、有以下程序:

#inlcude<iostream>
using namespace std;
class MyClass
{public:MyClass(){cout<<“A;} MyClass(char c){cout<<c;}~MyClass(){cout<<”B”;}
}
Int main()
{MyClass p1,*p2;P2=new MyClass(‘X’);delete p2;return 0;
}

执行这个程序,计算机屏幕上将显示输出(  )。 【 答案: D】
A ABX
B ABXB
C AXB
D AXBB

22、若有以下类声明:

class MyClass{public:MyClass(){  cout<<1;  }};

执行下列语句:MyClass a,b[2],*p;程序的输出结果是()。 【 答案: B】
A 11
B 111
C 1111
D 11111

23、有以下类定义:

class Test{public:Test(){a=0;c=0;}//①int f(int a)const{this->a=a;}//②static int g(){return a;}//③void h(int b){Test::b=b;}//④
private:int a;static int b;const int c;
};int Test::b=0;

在标注号码的行中,能被正确编译的是()。 【 答案: D】
A ①
B ②
C ③
D ④

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/132411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

figma-如何批量修改字体

一.选择字体 二.批量替换 编辑—>替换相同字体

UI设计工具都哪些常用的,推荐这5款

对于UI设计师来说&#xff0c;日常工作无非是围绕“需求分析”→设计实施→“开发交付”这三个环节来进行。 然而&#xff0c;在每个环节中&#xff0c;设计师使用的工具却完全不同。在这里&#xff0c;我收集整理了UI设计师在日常工作中常用的五种工具&#xff0c;希望能为新…

【ChatOCR】OCR+LLM定制化关键信息抽取(附开源大语言模型汇总整理)

目录 背景技术方案存在的问题及解决思路关键信息提取结果其他解决方案替换文心一言LangChain大型多模态模型&#xff08;Large Multimodal Model, LMM&#xff09; 开源大模型汇总LLaMA —— Meta 大语言模型Stanford Alpaca —— 指令调优的 LLaMA 模型Lit-LLaMA —— 基于 na…

数据结构线性表——单链表

前言&#xff1a;小伙伴们又见面啦&#xff0c;这篇文章我们来一起学习线性表的第二模块——单链表。 单链表的学习就要开始上强度啦&#xff0c;小伙伴们一定要努力&#xff0c;坚持&#xff01; 目录 一.什么是单链表 二.单链表与顺序表的区别 三.单链表的实现 1.单链表…

ClickHouse 学习之从高级到监控以及备份(二)

第 一 部分 高级篇 第 1 章 Explain 查看执行计划 在 clickhouse 20.6 版本之前要查看 SQL 语句的执行计划需要设置日志级别为 trace 才能可以看到&#xff0c;并且只能真正执行 sql&#xff0c;在执行日志里面查看。在 20.6 版本引入了原生的执行计划的语法。在 20.6.3 版本成…

【MongoDB】集群搭建实战 | 副本集 Replica-Set | 分片集群 Shard-Cluster | 安全认证

文章目录 MongoDB 集群架构副本集主节点选举原则搭建副本集主节点从节点仲裁节点 连接节点添加副本从节点添加仲裁者节点删除节点 副本集读写操作副本集中的方法 分片集群分片集群架构目标第一个副本集第二个副本集配置集初始化副本集路由集添加分片开启分片集合分片删除分片 安…

第23期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练 Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大型语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以…

Java 高效生成按指定间隔连续递增的列表(int,double)

简介 Java 按照指定间隔生成连续递增的List 列表&#xff08;引入Stream 类和流操作来提高效率&#xff09;&#xff1a; 1. 生成递增的List< Integer> Testpublic void test009(){int start 1;int interval 2;int count 10;List<Integer> list IntStream.ite…

华为云运维小结

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、pandas是什么&#xff1f; 一、pandas是什么&#xff1f; HCIP学习笔记-华为云运维方案-9&#xff1a;https://blog.csdn.net/GoNewWay/article/details/13152…

【亚马逊云科技产品测评】活动征文|亚马逊云科技AWS之EC2详细测评

引言 &#xff08;授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道&#xff09; 在当前的数字化时代&#xff0c;云服务已…

密钥管理系统功能及作用简介 安当加密

密钥管理系统的功能主要包括密钥生成、密钥注入、密钥备份、密钥恢复、密钥更新、密钥导出和服务&#xff0c;以及密钥的销毁等。 密钥生成&#xff1a;通过输入一到多组的密钥种子&#xff0c;按照可再现或不可再现的模式生成所需要的密钥。一般采用不可再现模式作为密钥生成…

算法题:203. 移除链表元素(递归法、设置虚拟头节点法等3种方法)Java实现创建链表与解析链表

1、算法思路 讲一下设置虚拟头节点的那个方法&#xff0c;设置一个新节点指向原来链表的头节点&#xff0c;这样我们就可以通过判断链表的当前节点的后继节点值是不是目标删除值&#xff0c;来判断是否删除这个后继节点了。如果不设置虚拟头节点&#xff0c;则需要将头节点和后…

【SpringSecurity】简介

SpringSecurity简介 Spring Security 的前身是Acegi Security&#xff0c;在被收纳为Spring 子项目后正式更名为Spring Security。Spring Security目前已经到了6.x&#xff0c;并且加入了原生OAuth2.0框架&#xff0c;支持更加现代化的密码加密方式。可以预见&#xff0c;在Ja…

HDFS速通之一文详解HDFS全部知识点

文章目录 HDFS介绍HDFS体系HDFS的Shell介绍HDFS的常见Shell操作 HDFS案例实操Java操作HDFS配置环境 HDFS的回收站HDFS的安全模式实战&#xff1a;定时上传数据至HDFSHDFS的高可用和高扩展HDFS的高可用(HA)HDFS的高扩展(Federation) HDFS介绍 HDFS是一个分布式的文件系统 假设…

采用XML作为GUI描述语言

设计方案采用XML作为GUI描述语言的机制主要包括以下几个方面: 模型定义:使用XML定义GUI组件的模型,包括组件的名称、类型、属性、事件等。布局管理:使用XML定义GUI组件的布局,包括组件之间的相对位置、大小、对齐方式等。数据绑定:使用XML定义GUI组件的数据绑定方式,包括数据来…

oracle-sql语句执行过程

客户端输入sql语句。 sql语句通过网络到达数据库实例。 服务器进程(server process)接收到sql语句。 sql – 解析成执行计划&#xff0c;然后sql才能执行。 会将sql和sql的执行计划缓存到共享池中。解析: 会消耗很多资源。 从数据库找数据&#xff0c;先从buffer cache中找&a…

数组相关的面试OJ题

目录 1.移除元素 方法1【暴力求解】 方法2【双指针】 2.删除两个有序数组中的重复项 方法1【双指针】 3.合并两个有序数组 方法1【暴力求解】 方法2【开辟新数组】---选择较小的尾插 方法3【三指针】---选择较大的头插 4.有序数组的合并 方法1【三指针】 写一个算…

Git extension 中合并工具kdiff3乱码问题

打开kdiff3合并工具&#xff0c;setting->region settings 设置下面的编码格式为utf-8就可以啦&#xff01; 注意&#xff1a;需要在合并工具中设置编码格式&#xff0c; 在git 中配置编码格式没有效果

人工智能AI创作系统ChatGPT网站系统源码+AI绘画系统支持GPT4.0/支持Midjourney局部重绘

一、前言 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建…

Leetcode刷题详解——组合

1. 题目链接&#xff1a;77. 组合 2. 题目描述&#xff1a; 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;n 4, k 2 输出&#xff1a; [[2,4],[3,4],[2,3],[1,2],[1,3],[…