4.2C++

写一个char类型的字符数组,对该数组访问越界时抛出异常,并做处理。

#include <iostream>using namespace std;
void fun(char (&a)[10],int i)
{if(i>=10){throw int();}else if(a==NULL){throw double();}cout<<"访问了第"<<i<<"位为:"<<a[i]<<endl;
}
int main()
{char a[10]="hello sed";int i=0;cout<<"输入访问位:"<<endl;cin>>i;try {fun(a,i);} catch (int) {cout<<"数组访问越界"<<endl;}catch (double){cout<<"入参为空,请检查"<<endl;}return 0;
}

使用模板类,实现顺序栈

#include <iostream>
using namespace std;
template <typename T>
class Stack
{
private:T* data;int top;int size;
public:Stack(int size);//构造函数~Stack();void Clear();//清空栈bool Empty();//判空bool Full(){return top==size-1;}//判满void Push(T elem);//入栈void Pop();//出栈void show(){for(int i=0;i<=top;i++){cout << data[i] << "->";}cout << endl;}//查看
};
template <typename T>
Stack<T>::Stack(int size):size(size)
{data = new T[size];if (data == NULL){exit(1);}top=-1;
}
template <typename T>
Stack<T>::~Stack()
{cout<<"S的析构"<<endl;delete[] data;
}
template <typename T>
void Stack<T>::Clear()
{if(Empty()){return;}top=-1;
}
template <typename T>
bool Stack<T>::Empty()
{return top==-1;
}
template <typename T>
void Stack<T>::Push(T e)
{if (Full()){return;}top++;data[top]=e;
}
template <typename T>
void Stack<T>::Pop()
{if (Empty()){cout << "栈为空" << endl;return;}cout << "出栈的元素为:" << data[top--] << endl;
}
int main()
{Stack <int>s1(5);for(int i=0;i<5;i++){int n;cout<<"输入栈值:"<<endl;cin>>n;s1.Push(n);}s1.show();cout << "---------------" << endl;for(int i=0;i<5;i++){s1.Pop();s1.show();cout << "---------------" << endl;}s1.Clear();s1.show();return 0;
}

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

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

相关文章

K8s学习八(配置与存储_配置)

配置与存储 配置管理 ConfigMap ConfigMap的创建 一般用于去存储 Pod 中应用所需的一些配置信息&#xff0c;或者环境变量&#xff0c;将配置于 Pod 分开&#xff0c;避免应为修改配置导致还需要重新构建 镜像与容器。configmap缩写为cmkubectl create cm -h来查看创建命令…

前端二维码工具小程序产品使用说明书

一、产品概述 前端二维码工具小程序是一款便捷实用的二维码生成与识别工具&#xff0c;通过本小程序&#xff0c;用户可以轻松根据文本或链接生成二维码&#xff0c;并支持扫一扫功能识别二维码内容&#xff0c;同时提供复制识别内容的功能。此外&#xff0c;本小程序还具备美…

在NBA我需要翻译--适配器模式

1.1 在NBA我需要翻译&#xff01; "你说姚明去了几年&#xff0c;英语练出来了哦&#xff0c;我看教练在那里布置战术&#xff0c;他旁边也没有翻译的&#xff0c;不住点头&#xff0c;瞧样子听懂没什么问题了。" "要知道&#xff0c;最开始&#xff0c…

xilinx SATA GTY PHY适配

xilinx sata phy主要是通过transceiver IP 进行移植&#xff0c;xilinx的底层目前主要有gtp gtx gth gty,不同的底层&#xff0c;PHY都需要重新适配 以下开始针对ZCU器件的GTH4底层进行配置 首先可以选择对应的类型 2&#xff0c;设置数据位宽&#xff0c;我这里设置为32位宽…

百度松果菁英班——机器学习实践五:明星图片爬取

飞桨AI Studio星河社区-人工智能学习与实训社区 &#x1f96a;图片爬取 import requests import os import urllib ​ class GetImage():def __init__(self,keyword大雁,paginator1):# self.url: 链接头self.url http://image.baidu.com/search/acjson?self.headers {User…

Win10下VirtualBox启动任何一个虚拟机马上出现蓝屏死机(终止代码:SYSTEM_SERVICE_EXCEPTION)

环境: Win10专业版 VirtualBox5.1.28 问题描述: Win10下VirtualBox启动任何一个虚拟机马上出现蓝屏死机(终止代码:SYSTEM_SERVICE_EXCEPTION),之前都一直没问题 检查下面功能是否开启 已启用 Credential Guard/Device Guard。 已启用 Windows 沙箱 已启用虚拟机平台…

【学习一】液压伺服与比例控制系统介绍

【学习一】液压伺服与比例控制系统介绍 需要具备的前期知识&#xff1a;自动控制、计算机控制系统等 文章目录 【学习一】液压伺服与比例控制系统介绍一、液压伺服与比例控制系统的组成二、液压伺服与比例控制系统的分类1.按系统输入信号的变化规律分类2.按被控物理量的名称分类…

SpringBoot学习笔记二

SpringBoot学习笔记二 1.SpringBoot配置加载顺序1.1 内部配置加载顺序1.2 外部配置加载顺序 2. SpringBoot整合其他框架2.1 SpringBoot整合Test2.2 SpringBoot整合Redis 1.SpringBoot配置加载顺序 1.1 内部配置加载顺序 同理可知&#xff0c;父项目中的confg下的配置优先级最…

图书馆自助借书机怎么借书

图书馆自助借书机借书流程如下&#xff1a; 1. 找到图书馆自助借书机&#xff0c;在机器上选择借书功能。 2. 输入自己的借书卡号或者身份证号码&#xff0c;如果是第一次借书&#xff0c;可能需要进行注册。 3. 输入图书的条形码号码&#xff0c;可以通过扫描条形码或者手动输…

ICLR24_OUT-OF-DISTRIBUTION DETECTION WITH NEGATIVE PROMPTS

摘要 分布外检测&#xff08;OOD Detection&#xff09;的研究对于开放世界&#xff08;open-world&#xff09;学习非常重要。受大模型&#xff08;CLIP&#xff09;启发&#xff0c;部分工作匹配图像特征和提示来实现文本-图像特征之间的相似性。 现有工作难以处理具有与已…

【LeetCode: 572. 另一棵树的子树 + 二叉树 + dfs】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

蚂蚁摩斯总经理李怀勇:以隐私计算为基建构建全域智能体系

艾瑞咨询最新发布《2024年中国金融科技&#xff08;FinTech&#xff09;行业发展洞察报告》&#xff0c;蚂蚁摩斯入选“金融科技卓越厂商”。评测模型主要包括服务厂商的行业深耕程度、产品与技术能力、服务能力及生态能力四个核心维度&#xff0c;最终评测结果的产出来自于对以…