米哈游C++开发精选60道面试题及参考答案

server/2024/12/16 8:44:59/

C++ 面向对象的三个特征

封装是把数据和操作数据的函数捆绑在一起,并且对数据的访问进行限制。这样做的好处是可以隐藏对象的内部实现细节,只暴露必要的接口给外部。例如,在一个银行账户类中,账户余额这个数据成员是被封装起来的,外部不能直接访问和修改,而是通过存款、取款等成员函数来间接操作。这就像一个黑盒子,外部不需要知道内部是如何实现余额计算等操作的,只需要调用相应的接口。

继承是一种创建新类(派生类)的方式,新类从现有类(基类)那里获取属性和行为。这体现了代码的复用性。比如,有一个基类是动物类,它有一些基本的属性如体重、年龄等,还有一些基本行为如进食、睡觉。然后有一个派生类是狗类,狗类继承了动物类,就自动拥有了动物类的属性和行为,同时还可以添加自己特有的属性和行为,如狗特有的 “摇尾巴” 行为。

多态是指同一种行为在不同的对象上有不同的表现形式。多态主要通过虚函数来实现。例如,有一个图形类作为基类,有一个绘制函数是虚函数。然后有派生类圆形和矩形,当调用绘制函数时,对于圆形对象会绘制圆形,对于矩形对象会绘制矩形。这就好像同样是 “绘画” 这个动作,对于不同的图形会产生不同的结果。

指针与引用的


http://www.ppmy.cn/server/150581.html

相关文章

zookeeper 使用 简介 curator 的使用

自定义 RPC 注册中心选型 新时代的 RPC 技术已经不单单的是满足于简单的远程服务调用,也不满足仅仅是对协议,序列化,网络通讯,STUB的这系列的技术的封装和优化。现在的新的技术也会对注册中心,负载均衡的封装,引入了 SOA 的相关架构,例如 GRPC。引入 nameming 的 provi…

2024告别培训班 数通、安全、云计算、云服务、存储、软考等1000G资源分享

大类有:软考初级 软考中级 软考高级 华为认证 华三认证: 软考初级: 信息处理技术员 程序员 网络管理员 软考中级: 信息安全工程师 信息系统监理师 信息系统管理工程师 嵌入式系统设计时 数据库系统工程师 电子商务设…

快速进行tmux及vim配置,打造终端IDE

代理配置 IP"192.168.X.X" PORT"XX" export http_proxy"http://$IP:$PORT" export https_proxy"http://$IP:$PORT"关于tmux部分的快速配置使用 yum install -y tmux git config --global http.sslverify false git clone https://gi…

设置 Git 凭据缓存(针对 HTTPS)

1. 启用凭据缓存 git config --global credential.helper cache默认缓存时间为 15 分钟,可以设置更长时间(例如 1 小时,3600 秒): git config --global credential.helper cache --timeout36002. 使用凭据存储&#…

如何在Android设备上复制整个目录到另一个位置?

在Android设备上复制整个目录到另一个位置,通常需要通过adb工具(Android Debug Bridge)来进行操作,因为它提供了文件系统级别的访问权限。以下是步骤: 打开命令行终端:首先,你需要连接你的Andro…

rabbitMq举例

新来个技术总监,把 RabbitMQ 讲的那叫一个透彻,佩服! 生产者 代码举例 public String sendMsg(final String exchangeName,final String routingKey,final String msg) {} /*** 发送消息* param exchangeName exchangeName* param routin…

Oracle plsqldev1106 安装及TNS配置

Oracle plsqldev1106 安装及TNS配置 下载好安装包,直接双击安装 点击 I Agree 默认是C盘的,我改了D盘,根据自己实际情况修改 这里用默认的for current user 也可以,我选了for all user 点Finish,等待安装完成即可 …

JavaScript ES6+ 语法速通

一、ES6 基础语法 1. let 和 const 声明变量 let:块级作用域,可以重新赋值。const:块级作用域,声明常量,不能重新赋值。 let name Li Hua; name Li Ming; // 可修改const age 21; // age 22; // 报错&#xff0…