【C++ Primer Plus习题】14.3

大家好,这里是国中之林!
❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看←

问题:

这里是引用

解答:
main.cpp

#include <iostream>
#include "queuetp.h"using namespace std;int main()
{QueueTp<Worker> lolas;Worker w1;lolas.queuecount();w1.set();lolas.enqueue(w1);Worker w2;lolas.dequeue(w2);w2.show();cout << "Bye.\n";return 0;return 0;
}

queuetp.h

#pragma once
#include <iostream>
#include <string>using namespace std;class Worker
{
private:string fullname;long id;public:Worker():fullname("no one"),id(0L){}Worker(const string &s,long n):fullname(s),id(n){}~Worker() {};void set();void show()const;
};template <class T>class QueueTp
{
private:enum {Q_SIZE=10};struct Node { T item; Node* next; };Node* front;Node* rear;int items;const int qsize;QueueTp(const QueueTp&q):qsize(0){}QueueTp& operator=(const QueueTp& q) { return *this; }
public:QueueTp(int qs = Q_SIZE) :qsize(qs){front = rear = NULL;items = 0;}~QueueTp(){Node* temp;while (front){temp = front;front = front->next;delete temp;}}bool isempty()const;bool isfull()const;int queuecount()const;bool enqueue(const T& item);bool dequeue(T& item);
};template <class T>
bool QueueTp<T>::isempty()const
{if (items == 0)return true;else return false;
}
template <class T>
bool QueueTp<T>::isfull()const
{return items == Q_SIZE;
}
template <class T>
int QueueTp<T>::queuecount()const
{return items;
}
template <class T>
bool QueueTp<T>::enqueue(const T& item)
{if (isfull())return false;Node* temp = new Node;temp->item = item;temp->next = NULL;items++;if (front == NULL){front = temp;}else{rear->next = temp;}rear = temp;return  true;
}
template <class T>
bool QueueTp<T>::dequeue(T& item)
{if (isempty())return false;item = front->item;items--;Node* temp = front;front = front->next;delete temp;if (items == 0){rear = NULL;}return true;}

queuetp.cpp

#include "queuetp.h"void Worker::set()
{cout << "请输入工人的姓名:";getline(cin, fullname);cout << "请输入工人的id:";cin >> id;while (cin.get() != '\n')continue;
}
void Worker::show()const
{cout << "工人姓名:" << fullname << endl;cout << "工人id:" << id << endl;
}

运行结果:
在这里插入图片描述

考查点:

  • 链队列
  • 模板类

注意:

  • 模板类成员函数的实现最好在一个文件中,不要分开,不然会报调不到函数的错误.

2024年9月10日21:48:36

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

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

相关文章

JavaWeb后端开发总结(3)

AOP基础 AOP概述 首先我们要知道AOP是什么&#xff1f; 看下图 个人解析&#xff1a; AOP叫做面向切面编程&#xff0c;但是实际上就是面向方法编程 图中下面一部分是一个AOP的案例 AOP快速入门案例代码实现 案例&#xff1a;测出业务中各个业务方法所需的执行时间 如果…

进程与计划任务

top 查看进程 x users 表示有几个shell开启 x stopped 前台任务在后台暂停firefox & 在后台运行&#xff0c;不在前面显示 ​​​​​​​这种方式常用于需要长时间运行且不需要即时交互的程序或命令&#xff0c;以便用户可以在终端中使用其他命令或进行其他操作&#…

Linux平台屏幕|摄像头采集并实现RTMP推送两种技术方案探究

技术背景 随着国产化操作系统的推进&#xff0c;市场对国产化操作系统下的生态构建&#xff0c;需求越来越迫切&#xff0c;特别是音视频这块&#xff0c;今天我们讨论的是如何在linux平台实现屏幕|摄像头采集&#xff0c;并推送至RTMP服务。 我们知道&#xff0c;Linux平台&…

debug对于开发工程师很重要

在日常开发中&#xff0c;总会遇到一些出人意料的bug&#xff0c;程序跑飞&#xff0c;上电就挂&#xff0c;程序没有按预期执行诸如此类的问题&#xff0c;没有好的调试方法&#xff0c;真的很难定位问题&#xff0c;更别说解决了。在这里分享我用过的一些调试方法&#xff0c…

“论剑”智算时代,长沙已经站在计算产业的“华山之巅”

文 | 智能相对论 作者 | 陈泊丞 共赴全新十年之约&#xff0c;长沙又来搞大事情了&#xff01; 2024互联网岳麓峰会以“AI汇湘江 数智领航未来”为主题&#xff0c;全面聚焦在“AI”时代把握数字化、网络化、智能化发展机遇&#xff0c;积极响应当前人工智能技术迅猛发展的势…

Qt5.4.1连接odbc驱动操作达梦数据库

Qt5.4.1连接odbc驱动操作达梦数据库 1 环境介绍2 Qt5.4.1 安装2.1 图形化界面安装Qt5.4.12.2 配置Qt5.4.1 环境变量2.3 Qt5.4.1 生成 libqsqlodbc.so 并配置2.3.1 生成Makefile2.3.2 查看 libqsqlodbc.so 文件并配置 3 配置Qt测试用例4 达梦数据库学习使用列表 1 环境介绍 CPU…

实现卷积层的前向传播(Pythom版)

在TensorFlow框架中&#xff0c;实现卷积层&#xff08;2维&#xff09;的代码是 tf.keras.layers.Conv2D()。它主要接收如下几个参数&#xff0c; filters&#xff1a;卷积核的个数&#xff0c;也就是卷积层输出的通道数&#xff08;沿axis-1的维度&#xff09; kernel_size&a…

性能碾压pandas、polars的数据分析神器来了

来源&#xff1a;python大数据分析 费弗里 1 简介 就在几天前&#xff0c;经过六年多的持续开发迭代&#xff0c;著名的开源高性能分析型数据库DuckDB发布了其1.0.0正式版本。 DuckDB具有极强的单机数据分析性能表现&#xff0c;功能丰富&#xff0c;具有诸多拓展插件&#xf…

时空特征融合方向小论文创新点一次性都给你!看到就是赚到

朋友们&#xff0c;今天给大家推荐一个发小论文很不错的方向&#xff1a;时空特征融合。 时空特征融合是一种提高模型性能和准确性的关键技术&#xff0c;通过结合空间和时间维度的信息&#xff0c;它可以显著提高模型的预测精度和泛化能力&#xff0c;给我们提供更全面的数据…

惊!还有这种邮件群发神器!?

邮件群发工具是推广营销的重要利器。这种软件具备强大的功能&#xff0c;能够批量发送邮件&#xff0c;确保所发送的邮件不易被标记为垃圾邮件。同时&#xff0c;它还包括自动地址采集和整理功能&#xff0c;能够快速获取邮箱地址&#xff0c;省去了寻找地址的麻烦。 功能亮点&…

Trm理论 2(Word2Vec)

神经网络模型&#xff08;NNLM&#xff09;和Word2Vec NNLM模型是上次说过的模型&#xff0c;其目的是为了预测下一个词。 softmax(w2tanh(w1x b1)b2) 会得到一个副产品词向量 而Word2Vue就是专门求词向量的模型 softmax(w2*(w1*x b1)b2) Word2Vec softmax(w2*(w1*x b1)b…

连续信号的matlab表示

复习信号与系统以及matlab 在matlab中连续信号使用较小的采样间隔来表四 1.单位阶跃信号 阶跃信号:一个理想的单位阶跃信号在时间 t 0 之前值为0&#xff0c;在 t 0 及之后值突然变为常数 A&#xff08;通常取 A 1&#xff09; %matlab表示连续信号,是让信号的采样间隔很小…

Python 中的 SHAP 简介

本文中有多篇计划文章,后期会补充相关链接。鉴于公众号内无法后期修改文章,请关注原文链接。 如何创建和解释 SHAP 图:瀑布图、力图、平均 SHAP 图、蜂群图和依赖图 可直接在橱窗里购买,或者到文末领取优惠后购买: SHAP 是用于理解和调试模型的最强大的 Python 包。它可以…

Oceanbase Restore Point实践

官网链接&#xff1a;Restore Point-V3.2.4-OceanBase 数据库文档-分布式数据库使用文档 在很多应用系统中&#xff0c;用户需要查询数据库中的某个时间点&#xff0c;或者特定版本的数据来完成一些数据分析或汇总之类的操作。 OceanBase 数据库在 V2.2.7x 版本中提供了 Restor…

vscode ssh离线远程连接ubuntu调试

遇见问题&#xff1a; 1 ssh连接上无法启动服务器的虚拟环境&#xff1b; 2 ssh连接上启动服务器的虚拟环境后无法打断点&#xff1b; 对于问题需要参考下面连接安装python和debugy的插件拓展&#xff0c;并且配置json文件link。VSCode - 离线安装扩展python插件教程_vscode…

Jupyter Notebook设置代码提示和自动代码补全

算法学习、4对1辅导、论文辅导或核心期刊可以通过公众号滴滴我 文章目录 在使用Jupyter Notebook中&#xff0c;会出现Jupyter不像Pycharm一样&#xff0c;可以 自动补全代码以及 代码方法提示等功能&#xff0c;这时候就需要通过给Jupyter安装插件来进行实现。 执行步骤&#…

EMR Spark-SQL性能极致优化揭秘 Native Codegen Framework

作者&#xff1a;周克勇&#xff0c;花名一锤&#xff0c;阿里巴巴计算平台事业部EMR团队技术专家&#xff0c;大数据领域技术爱好者&#xff0c;对Spark有浓厚兴趣和一定的了解&#xff0c;目前主要专注于EMR产品中开源计算引擎的优化工作。 背景和动机 SparkSQL多年来的性能…

StarRocks Lakehouse 快速入门——Apache Iceberg

导读&#xff1a; StarRocks Lakehouse 快速入门旨在帮助大家快速了解湖仓相关技术&#xff0c;内容涵盖关键特性介绍、独特的优势、使用场景和如何与 StarRocks 快速构建一套解决方案。最后大家也可以通过用户真实的使用场景来了解 StarRocks Lakehouse 的最佳实践&#xff01…

2024国赛数学建模备赛|30种常用的算法模型之最优算法-层次分析法

层次分析法&#xff08;Analytic Hierarchy Process&#xff0c;简称 AHP&#xff09;是对一些较为复杂、较为模 糊的问题作出决策的简易方法&#xff0c;它特别适用于那些难于完全定量分析的问题。它是美 国运筹学家 T. L. Saaty 教授于上世纪 70 年代初期提出的一种简便、灵活…

网络安全服务基础Windows--第13节-加密技术

基本保密通信模型 密码学发展 1. 古典密码学&#xff08;1949年之前&#xff09; 主要特点&#xff1a;数据的安全基于算法的保密 ● 在古典密码学中&#xff0c;密码算法通常是通过⼿⼯或机械装置实现的。 ● 数据的安全性主要依赖于算法本身的保密性&#xff0c;即“安…