每日计划-1212

news2025/1/16 3:53:51

1. 完成 SQL1 查询所有列

 

2. 八股部分

1)  C++ 中多态性在实际项目中的应用场景有哪些?

(1)图形绘制系统

  • 场景描述:在一个图形绘制软件中,可能有多种图形,如圆形、矩形、三角形等。每种图形都需要有自己的绘制方法。
  • 多态的应用:可以定义一个基类Shape,其中有一个纯虚函数draw()。然后,圆形类Circle、矩形类Rectangle和三角形类Triangle等都继承自Shape类,并各自实现draw()函数。当需要绘制所有图形时,可以创建一个Shape指针数组,将不同类型的图形对象指针存入其中。通过遍历数组并调用draw()函数,就可以根据对象的实际类型来调用相应的绘制方法,而不需要为每种图形编写单独的绘制函数调用代码。
class Shape {
public:
    virtual void draw() = 0;
};
class Circle : public Shape {
public:
    void draw() override {
        // 绘制圆形的具体代码
        std::cout << "Drawing a circle." << std::endl;
    }
};
class Rectangle : public Shape {
public:
    void draw() override {
        // 绘制矩形的具体代码
        std::cout << "Drawing a rectangle." << std::endl;
    }
};
int main() {
    Shape* shapes[2];
    Circle circle;
    Rectangle rectangle;
    shapes[0] = &circle;
    shapes[1] = &rectangle;
    for (int i = 0; i < 2; ++i) {
        shapes[i]->draw();
    }
    return 0;
}

 

(2)游戏开发中的角色行为

  • 场景描述:在游戏中,有多种不同类型的角色,如战士、法师、刺客等。每个角色都有自己的攻击行为。
  • 多态的应用:定义一个基类Character,其中有一个虚函数attack()。战士类Warrior、法师类Mage和刺客类Assassin等继承自Character类,并各自实现attack()函数来定义不同的攻击方式。在游戏的战斗场景中,当角色进行攻击操作时,通过调用attack()函数,根据角色的实际类型来执行相应的攻击行为。
  • 代码示例
class Character {
public:
    virtual void attack() = 0;
};
class Warrior : public Character {
public:
    void attack() override {
        std::cout << "Warrior attacks with a sword." << std::endl;
    }
};
class Mage : public Character {
public:
    void attack() override {
        std::cout << "Mage attacks with a spell." << std::endl;
    }
};
int main() {
    Character* characters[2];
    Warrior warrior;
    Mage mage;
    characters[0] = &warrior;
    characters[1] = &mage;
    for (int i = 0; i < 2; ++i) {
        characters[i]->attack();
    }
    return 0;
}

(3)设备驱动程序

  • 场景描述:在操作系统中,需要与多种不同类型的硬件设备进行交互,如打印机、磁盘驱动器、网络适配器等。每种设备都有自己的操作方式。
  • 多态的应用:可以定义一个基类Device,其中有虚函数read()write()等操作函数。打印机类Printer、磁盘驱动器类DiskDrive和网络适配器类NetworkAdapter等继承自Device类,并各自实现read()write()等函数来适应不同设备的操作方式。当操作系统要对设备进行读写操作时,通过设备对象指针调用虚函数,就可以根据设备的实际类型执行相应的操作。

2) C++ 中面向对象编程如何实现数据隐藏?

1)使用访问修饰符

  • private 关键字:在类中,将成员变量声明为private,这样这些变量就只能在类的内部被访问。例如,定义一个Person类,其中年龄age是一个不想被外部随意访问的成员变量。
class Person {
private:
    int age;
public:
    void setAge(int a) {
        if (a > 0) {
            age = a;
        }
    }
    int getAge() {
        return age;
    }
};

  在这个例子中,age被声明为private,外部代码不能直接访问age。而是通过setAgegetAge这两个公共成员函数来间接访问和修改age的值。这样就实现了对age这个数据的隐藏,同时可以在setAge函数中添加一些数据验证逻辑,保证数据的合法性。

(2)封装概念解释:将数据和操作数据的函数封装在一个类中,通过控制类的接口(即公共成员函数)来限制对数据的访问。这样,类的内部实现细节(包括数据成员)对外部是隐藏的。例如,对于一个BankAccount类,账户余额balance是一个敏感信息,不应该被外部随意访问。

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

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

相关文章

Autosar CP RTE:一个例子简要介绍工作原理

以下是一个示例&#xff0c;展示如何通过AUTOSAR的RTE机制利用配置&#xff08;ARXML文件&#xff09;来实现软件组件集成&#xff0c;包含对应的C源代码以及模拟自动生成的RTE框架代码的示例。请注意&#xff0c;实际的AUTOSAR项目会复杂得多&#xff0c;这里只是一个简化且示…

动手学深度学习---预备知识

深度学习是关于优化的学习。对一个带有参数的模型&#xff0c;找到其中能拟合数据最好的模型。 一、数据操作 张量&#xff1a;表示一个由数值组成的数组&#xff0c;这个数组可能有多个维度。具有一个轴的张量对应数学上的向量&#xff0c;具有两个轴的张量对应数学上的矩阵&…

频域采样引起Gibbs效应——频域采样FIR滤波器设计的主要问题(答作者问)

还是这个图&#xff0c;我不明白廖老师为什么纠结这几个图不放过。Rafael Gonzalez的《数字图像处理》概念不清楚的地方&#xff0c;我就直接放过了&#xff0c;我为什么要和基础差的人纠结。 现在的问题是图(c )到图(d)为什么会产生Gibbs效应。这与补零&#xff08;哪怕是异想…

《Keras3 minist 手写数字AI模型训练22秒精度达到:0.97》

《Keras3 minist 手写数字AI模型训练22秒精度达到&#xff1a;0.97》 一、修改源码加上如下两条代码二、源码修改如下三、Keras3 minist 训练22秒结束&#xff0c;训练过程截图四、Keras3 minist 源码截图 一、修改源码加上如下两条代码 import os os.environ["KERAS_BAC…

R语言——缺失值处理

目录 缺失数据 1 R中的缺失值 2查看缺失值is.na() 3 去除缺失值 1 R中的缺失值 在R中&#xff0c;NA代表缺失值&#xff0c;NA是不可用&#xff08;可能是0&#xff0c;可能是其他值&#xff0c;NA是未知的&#xff09;&#xff0c;notavailable的简称&#xff0c;用来存储…

找不到共享打印机0x00000bc4报错多种解决方法

在访问共享打印机提示"找不到打印机0x00000bc4"解决方法怎么解决&#xff1f;今天小编就教大家找不到共享打印机0x00000bc4报错多种解决方法 找不到共享打印机0x00000bc4报错多种解决方法原因分析&#xff1a; 1、检查打印机驱动&#xff1a;一般出现这种情况是由于打…

vulhub复现CVE-2021-44228log4j漏洞

目录 一&#xff1a;漏洞概述 二&#xff1a;漏洞原理 三&#xff1a;漏洞利用 lookup功能&#xff1a; JNDI解析器&#xff1a; ldap服务&#xff1a; RMI&#xff1a; 四&#xff1a;漏洞复现 4.1靶场 4.2dnslog测试 4.3部署jndi-injection-exploit 4.4打开监听端口 4.5触发请…

论文笔记:Treat Visual Tokens as Text? But Your MLLM Only Needs Fewer Efforts to See

2024 10月的arxiv 1 主要idea 针对多模态大模型&#xff08;如LLaVA&#xff09;&#xff0c;提出了一系列高效的剪枝策略 在显著降低计算开销&#xff08;多达 88%&#xff09;的同时&#xff0c;保持了模型在多模态任务中的性能表现 2 目前的问题 与文本 token 相比&…

MySQL常用运维操作(一):快速复制一张表

假设有如下表结构&#xff1a; -- 创建表db1.t create database db1; use db1; create table t(id int primary key,a int, b int, index(a))engineinnodb;-- 向表t写入1000行数据 delimiter ;;create procedure idata()begindeclare i int;set i1;while(i<1000)doinsert i…

怎么确定目标主机,整个网络过程

怎么确定目标主机&#xff0c;整个网络过程 简单来说&#xff0c; 就是归结于计算机间怎么进行通信&#xff0c; &#xff08;原始方法&#xff09; 简单点直接加网线&#xff0c;但 一个设备的网口肯定是有限的 当相连的设备多了&#xff0c;整个网线将变得十分复杂&#…

机器视觉与OpenCV--01篇

计算机眼中的图像 像素 像素是图像的基本单位&#xff0c;每个像素存储着图像的颜色、亮度或者其他特征&#xff0c;一张图片就是由若干个像素组成的。 RGB 在计算机中&#xff0c;RGB三种颜色被称为RGB三通道&#xff0c;且每个通道的取值都是0到255之间。 计算机中图像的…

【H3CNE邓方鸣】配置链路聚合+2024.12.11

文章目录 链路聚合作用负载分担分类静态聚合动态聚合 链路聚合作用 定义&#xff1a;把连接到统一交换机上的多个物理端口捆绑为一个逻辑端口 增加链路带宽&#xff1a;聚合组内只要还有物理端口存活&#xff0c;链路就不会中断 提供链路可靠性&#xff1a;避免了STP计算&…

Java 基础知识——part 1

1.目前Java平台有三种版本&#xff1a; Java SE&#xff1a;用于开发桌面应用程序 Java EE&#xff1a;用于编写企业级应用程序 Java ME&#xff1a;用于开发设备应用程序 2.Applet可嵌入Web文档的一种小型程序&#xff0c;因网络传输速度关系都很短小 3.Appilication&…

数据可视化的Python实现

一、GDELT介绍 GDELT ( www.gdeltproject.org ) 每时每刻监控着每个国家的几乎每个角落的 100 多种语言的新闻媒体 -- 印刷的、广播的和web 形式的&#xff0c;识别人员、位置、组织、数量、主题、数据源、情绪、报价、图片和每秒都在推动全球社会的事件&#xff0c;GDELT 为全…

nginx反向代理(负载均衡)和tomcat介绍

nginx的代理 负载均衡 负载均衡的算法 负载均衡的架构 基于ip的七层代理 upstream模块要写在http模块中 七层代理的调用要写在location模块中 轮询 加权轮询 最小连接数 ip_Hash URL_HASH 基于域名的七层代理 配置主机 给其余客户机配置域名 给所有机器做域名映射 四层代理…

Qt编写RK3588视频播放器/支持RKMPP硬解/支持各种视音频文件和视频流/海康大华视频监控

一、前言 用ffmpeg做硬解码开发&#xff0c;参考自带的示例hw_decode.c即可&#xff0c;里面提供了通用的dxva2/d3d11va/vaapi这种系统层面封装的硬解码&#xff0c;也就是无需区分用的何种显卡&#xff0c;操作系统自动调度&#xff0c;基本上满足了各种场景的需要&#xff0…

C# 位运算

一、数据大小对应关系 说明&#xff1a; 将一个数据每左移一位&#xff0c;相当于乘以2。因此&#xff0c;左移8位就是乘以2的8次方&#xff0c;即256。 二、转换 1、 10进制转2进制字符串 #region 10进制转2进制字符串int number1 10;string binary Convert.ToString(num…

蓝桥杯嵌入式客观题(国省)

目录 一、第14届 1.第14届国赛 2.第14届省赛 二、第13届 1.第13届国赛 2.第13届省赛 三、第12届 1.第12届省赛 四、第11届 1.第11届省赛 2.第11届国赛 五、第10届 1.第10届国赛 2.第10届省赛 六、第9届 1.第9届国赛 一、第14届 1.第14届国赛 解析&#xff1a;…

二维码手持终端PDA在仓储管理中的应用

随着物联网技术不断发展&#xff0c;仓储管理的高效性直接关系到企业的运作效率和盈利能力。得益于移动技术的不断进步&#xff0c;二维码手持终端PDA成为了仓储盘点中不可或缺的智能化工具&#xff0c;它们不仅极大地提升了数据收集的效率与准确性&#xff0c;还促进了业务流程…

光控资本:锂电排产上行 AI手机有望快速渗透

AI手机有望快速渗透 据赛迪参谋猜想&#xff0c;2024年AI手机的出货量估量将会抵达1.5亿部&#xff0c;占全球智能手机总出货量13%&#xff0c;到2027年&#xff0c;全球AI手机销售量有望跨过5.9亿部&#xff0c;占全球智能手机总出货量的比重跨过50%。 跟着硬件根底夯实、端侧…