每日一练Day-8

简介: 每日一练Day-8

选择:

知识点:赋值兼容规则指的是什么:3条

知识点:A的确是继承了B的成员(成员函数,成员变量),但是A访问这些成员仍然要遵守这些成员在B类的访问规则,例如:A继承了i,但是i仍然是private的,因此不能在类外类中访问。

知识点:

1.什么是纯虚函数,形如:

类中有纯虚函数的类称为抽象类,抽象类是不能被实例化的。

继承了纯虚函数的类也不能实例化,除非他重写了纯虚函数,纯虚函数的作用就是迫使派生类必须重写虚函数

2.什么是虚基类,发生在菱形继承中,如下的A被称为虚基类

抽象类中的纯虚函数可以有内容,但仍然不能实例化

知识点:在多态中析构函数为什么要写成虚函数,以及析构函数实现多态后是如何运作的

场景:

父类指针指向了一个new出来的子类

那么调用delete p1 ,我们期望结果是:分别调用子类和父类的析构函数。

BUT

只调用了父类析构,why?因为我p1是person*类型,指向的是student中的person,所以它会调用student中person的析构函数

但是student已经new出来了一个对象了啊,且student里也已new了资源,不调student的析构函数就会造成内存泄漏。

所以要把析构函数写成虚函数的形式,实现目的。如何实现的?我们已经重写了析构函数,并把它设置为虚函数,此时p1指向的是student中的person,person里有一张虚表,虚表里存放了重写后的析构函数的地址,p1会调用这个析构函数。调用完studentd析构函数后,再去调用person的析构函数,再调用free释放指针指向的堆空间,达到目的

知识点:

C语言的结构体没有成员函数

知识点:

什么是单例模式 一个类只能创建一个对象

知识点:

1.析构函数中不能调用delete,因为delete会调用析构函数,会引发无限循环

2.this指针的类型是 *const 即不能被修改

A(A&)=delete这是什么?

类中禁止生成A(A&)这个拷贝构造函数,既然显示的写了,也无法被调用,因为它是被删除的函数

day14

相关文章
|
11天前
|
数据采集 人工智能 安全
|
6天前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:七十、小树成林,聚沙成塔:随机森林与大模型的协同进化
随机森林是一种基于决策树的集成学习算法,通过构建多棵决策树并结合它们的预测结果来提高准确性和稳定性。其核心思想包括两个随机性:Bootstrap采样(每棵树使用不同的训练子集)和特征随机选择(每棵树分裂时只考虑部分特征)。这种方法能有效处理大规模高维数据,避免过拟合,并评估特征重要性。随机森林的超参数如树的数量、最大深度等可通过网格搜索优化。该算法兼具强大预测能力和工程化优势,是机器学习中的常用基础模型。
326 164
|
5天前
|
机器学习/深度学习 自然语言处理 机器人
阿里云百炼大模型赋能|打造企业级电话智能体与智能呼叫中心完整方案
畅信达基于阿里云百炼大模型推出MVB2000V5智能呼叫中心方案,融合LLM与MRCP+WebSocket技术,实现语音识别率超95%、低延迟交互。通过电话智能体与座席助手协同,自动化处理80%咨询,降本增效显著,适配金融、电商、医疗等多行业场景。
328 155
|
6天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
391 4
|
14天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
925 7