当前位置: 首页 > news >正文

EX_25/2/24

写一个三角形类,拥有私有成员 a,b,c 三条边 写好构造函数初始化 abc 以及 abc 的set get 接口 再写一个等腰三角形类,继承自三角形类 1:写好构造函数,初始化三条边 2:要求无论如何,等腰三角形类对象,总是等腰的 再写一个等边三角形类,继承自等腰三角形类 1:写好构造函数,初始化三条边 2:要求无论如何,等腰三角形类对象,总是等边

#include <iostream>
#include <cstring>
#include <cstdlib>
#include <unistd.h>
#include <sstream>
#include <vector>
#include <memory>using namespace std;                 class ABC
{
private:int a;int b;int c;
public:ABC(int a=0,int b=0,int c=0):a(a),b(b),c(c){}void seta(int l){a=l;}void setb(int l){b=l;}void setc(int l){c=l;}int geta(){return a;}int getb(){return b;}int getc(){return c;}
};class ABB:public ABC
{
public:ABB(int a=0,int bb=0):ABC(a,bb,bb){}void seta(int a){ABC::seta(a);ABC::setb(a);}void setb(int b){ABC::seta(b);ABC::setb(b);}
};
class AAA:public ABC
{AAA(int aaa=0):ABC(aaa,aaa,aaa){}void seta(int a){ABC::seta(a);ABC::setb(a);ABC::setc(a);}
};
int main(int argc,const char** argv)
{ABB d;d.seta(4);d.setb(5);d.setc(6);AAA e;e.seta(7);return 0;
}

编写一个长方形类, 私有成员 a,b 构造函数初始化 set get 接口 编写一个正方形类,继承自长方形类 构造函数初始化 无论如何,正方形类对象总是正方形的

#include <iostream>
#include <cstring>
#include <cstdlib>
#include <unistd.h>
#include <sstream>
#include <vector>
#include <memory>using namespace std;                 class AABB{
private:int a;int b;
public:AABB(int a=0,int b=0):a(a),b(b){};void setA(int l){a = l;}void setB(int l){b = l;}int getA(){return a;}int getB(){return b;}
};class AA:public AABB{
public:AA() : AABB(0,0){}AA(int a):AABB(a,a){}void setA(int a){AABB::setA(a);AABB::setB(a);}void setB(int b){AABB::setA(b);AABB::setB(b);}
};int main(int argc,const char** argv){AA a1;a1.setA(3);a1.setB(4);}

封装消息队列 class Msg{ key_t key int id; int channel } 实现以下功能 Msg m("文件名") m[1].send("数据"),将数据发送到1号频道中 string str = m[1].recv(int size) 从1号频道中读取消息,并且返回 把 send 改成 operator<< ,recv 改成 operator>> 实现效果: m[1] << "helloworld" 将 "helloworld" 写入消息队列的1号频道中 m[1] >> str 读取消息队列中1频道中的消息,存入 str 中

#include <iostream>
#include <cstring>
#include <cstdlib>
#include <unistd.h>
#include <sstream>
#include <vector>
#include <memory>
#include <sys/ipc.h>
#include <sys/msg.h>using namespace std;class Msg {
private:key_t key;int id;int channel;struct msgbuf {long channel;char text[512];};public:Msg(const string& filename = "") {key = ftok(filename.data(), 1);id = msgget(key, IPC_CREAT | 0666);}~Msg() {msgctl(id, IPC_RMID, 0);}void send(const string& str) {msgbuf buf = {0};strcpy(buf.text, str.data());buf.channel = channel;msgsnd(id, &buf, strlen(buf.text) + 1, 0);}string recv(int size = 512) {msgbuf buf = {0};msgrcv(id, &buf, size, channel, 0);string str = buf.text;return str;}friend Msg& operator<<(Msg& msg, const string& str);friend Msg& operator>>(Msg& msg, string& str);Msg& operator[](int channel) {this->channel = channel;return *this;}
};Msg& operator<<(Msg& msg, const string& str) {msg.send(str);return msg;
}Msg& operator>>(Msg& msg, string& str) {str = msg.recv();return msg;
}int main(int argc, const char** argv) {return 0;
}

封装信号灯集 class Sem{ key_t key int id; int index } 实现以下功能 Sem s(参数x,参数y):创建信号灯集,信号灯集中存在 x 个信号量,并且将所有信号量初始化为 y s[1].init(10):手动初始化信号灯集中的第1个信号量,初始化成 10 s[1] + 1 让信号灯集中的第1个信号量的值 +1 s[1].operator+(1) s[1] - 1 让信号灯集中的第1个信号量的值 -1 追加 operator ++ 功能,即解锁一次 以及 operator-- 功能, 即上锁一次

#include <iostream>
#include <cstring>
#include <cstdlib>
#include <unistd.h>
#include <sstream>
#include <vector>
#include <memory>
#include <sys/ipc.h>
#include <sys/sem.h>using namespace std;class Sem {
private:key_t key;int id;int index;public:Sem(const string& filename = "", int n, int val) {key = ftok(filename.data(), 1);id = semget(key, n, IPC_CREAT | 0666);for (int i = 0; i < n; i++) {semctl(id, i, SETVAL, val);}}~Sem() {semctl(id, 0, IPC_RMID);}friend Sem& operator+(const Sem& l, int val);friend Sem& operator-(const Sem& l, int val);friend Sem& operator++(Sem& l);friend Sem& operator--(Sem& l);friend Sem& operator[](Sem& l, int index);
};Sem& operator+(Sem& l, int val) {sembuf buf = {0};buf.sem_num = l.index;buf.sem_op = abs(val);buf.sem_flg = SEM_UNDO;semop(l.id, &buf, 1);return l;
}Sem& operator-(Sem& l, int val) {sembuf buf = {0};buf.sem_num = l.index;buf.sem_op = -abs(val);buf.sem_flg = SEM_UNDO;semop(l.id, &buf, 1);return l;
}Sem& operator++(Sem& l) {sembuf buf = {0};buf.sem_num = l.index;buf.sem_op = 1;buf.sem_flg = SEM_UNDO;semop(l.id, &buf, 1);return l;
}Sem& operator--(Sem& l) {sembuf buf = {0};buf.sem_num = l.index;buf.sem_op = -1;buf.sem_flg = SEM_UNDO;semop(l.id, &buf, 1);return l;
}
Sem& operator[](const Sem& l,int index){l.index = index;return l;
}
int main(int argc, const char** argv) {return 0;
}

相关文章:

EX_25/2/24

写一个三角形类&#xff0c;拥有私有成员 a,b,c 三条边 写好构造函数初始化 abc 以及 abc 的set get 接口 再写一个等腰三角形类&#xff0c;继承自三角形类 1&#xff1a;写好构造函数&#xff0c;初始化三条边 2&#xff1a;要求无论如何&#xff0c;等腰三角形类对象&#x…...

ElasticSearch公共方法封装

业务场景 1、RestClientBuilder初始化&#xff08;同时支持单机与集群&#xff09; 2、发送ES查询请求公共方法封装&#xff08;支持sql、kql、代理访问、集群访问、鉴权支持&#xff09; 3、判断ES索引是否存在&#xff08;/_cat/indices/${indexName}&#xff09; 4、判断ES…...

JVM之JVM的组成

Java 虚拟机&#xff08;JVM&#xff09;是 Java 程序的运行核心&#xff0c;它主要由类加载系统、运行时数据区、执行引擎和本地方法接口这几个关键部分组成。 类加载系统&#xff08;Class Loading System&#xff09; 类加载系统负责在程序运行时动态地将 Java 类加载到 J…...

贪心算法

int a[1000], b5, c8; swap(b, c); // 交换操作 memset(a, 0, sizeof(a)); // 初始化为0或-1 引导问题 为一个小老鼠准备了M磅的猫粮&#xff0c;准备去和看守仓库的猫做交易&#xff0c;因为仓库里有小老鼠喜欢吃的五香豆&#xff0c;第i个房间有J[i] 磅的五香豆&#xf…...

Linux下安装中文输入法总结

Linux下安装中文输入法总结_linux 微软拼音-CSDN博客文章浏览阅读4.2w次&#xff0c;点赞21次&#xff0c;收藏92次。众所周知&#xff0c;fcitx和ibus是两款很好用的Linux中文输入法框架。下面来说一下其安装方法以及会踩的坑。首先fcitx和ibus是不能共存的&#xff0c;两者只…...

人工智能(AI):科技新纪元的领航者

摘要 人工智能&#xff08;AI&#xff09;作为当今科技领域最具变革性的力量之一&#xff0c;正以惊人的速度重塑着我们的世界。本文旨在全面且专业地介绍人工智能&#xff0c;涵盖其定义、发展历程、关键技术、应用领域、面临的挑战以及未来展望等方面&#xff0c;以期为读者…...

c3p0、Druid连接池+工具类 Apache-DbUtils (详解!!!)

数据库连接池是在应用程序启动时创建一定数量的数据库连接&#xff0c;并将这些连接存储在池中。当应用程序需要与数据库通信时&#xff0c;它可以向池中请求一个连接&#xff0c;使用完后将连接归还给池&#xff0c;而不是关闭连接。这样可以减少创建和关闭连接的开销&#xf…...

鸿蒙开发深入浅出03(封装通用LazyForEach实现懒加载)

鸿蒙开发深入浅出03&#xff08;封装通用LazyForEach实现懒加载&#xff09; 1、效果展示2、ets/models/BasicDataSource.ets3、ets/models/HomeData.ets4、ets/api/home.ets5、ets/pages/Home.ets6、ets/views/Home/SwiperLayout.ets7、后端代码 1、效果展示 2、ets/models/Ba…...

AWS - Redshift - 外部表读取 Parquet 文件中 timestamp 类型的数据

问题&#xff1a; 通过 Redshift Spectrum 功能可以读取 S3 中的文件&#xff0c;当读取 Parquet 文件时&#xff0c;如果列格式设置为 timestamp&#xff0c; 通过 psql 客户端读取会出现以下错误&#xff1a; testdb# select * from myspectrum_schema_0219.test_ns; ERROR…...

Ubuntu20.04之VNC的安装使用与常见问题

Ubuntu20.04之VNC的安装与使用 安装图形桌面选择安装gnome桌面选择安装xface桌面 VNC-Server安装配置开机自启 VNC Clientroot用户无法登入问题临时方案永久方案 安装图形桌面 Ubuntu20.04主流的图形桌面有gnome和xface两种&#xff0c;两种桌面的安装方式我都会写&#xff0c…...

vue3学习3-route

创建路由器&#xff1a; 应用路由器&#xff1a; 路由展示区RouterView 和 路由跳转RouterLink&#xff1a; 路由组件&#xff08;在路由配置文件中配置的&#xff09;一般放到pages/views文件夹下 路由组件切换的时候执行的是 挂载/卸载操作 onMounted / onUnmouted 路由器两…...

C++:dfs,bfs各两则

1.木棒 167. 木棒 - AcWing题库 乔治拿来一组等长的木棒&#xff0c;将它们随机地砍断&#xff0c;使得每一节木棍的长度都不超过 5050 个长度单位。 然后他又想把这些木棍恢复到为裁截前的状态&#xff0c;但忘记了初始时有多少木棒以及木棒的初始长度。 请你设计一个程序…...

RK Android11 WiFi模组 AIC8800 驱动移植流程

RK Android WiFi模组 AIC8800 驱动移植流程 作者&#xff1a;Witheart更新时间&#xff1a;20250220 概要&#xff1a;本文介绍了基于 AIC8800D40 芯片的 WiFi6 模组 BL-M8800DS2-40 在 RK3568 平台上的驱动移植流程。主要涉及环境搭建、驱动代码分析、设备树修改、驱动编译配…...

深度学习-6.用于计算机视觉的深度学习

Deep Learning - Lecture 6 Deep Learning for Computer Vision 简介深度学习在计算机视觉领域的发展时间线 语义分割语义分割系统的类型上采样层语义分割的 SegNet 架构软件中的SegNet 架构数据标注 目标检测与识别目标检测与识别问题两阶段和一阶段目标检测与识别两阶段检测器…...

免费送源码:ava+springboot+MySQL 基于springboot 宠物医院管理系统的设计与实现 计算机毕业设计原创定制

摘 要 在当今社会&#xff0c;宠物已经成为人们生活中不可或缺的一部分&#xff0c;因此宠物健康和医疗问题也备受关注。为了更好地管理宠物医院的日常运营和提供优质的医疗服务&#xff0c;本研究设计并实现了一套基于Spring Boot框架的宠物医院管理系统。这一系统集成了多项功…...

【电机控制器】ESP32-C3语言模型——DeepSeek

【电机控制器】ESP32-C3语言模型——DeepSeek 文章目录 [TOC](文章目录) 前言一、简介二、代码三、实验结果四、参考资料总结 前言 使用工具&#xff1a; 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、简介 二、代码 #include <Arduino.h&g…...

小型字符级语言模型的改进方向和策略

小型字符级语言模型的改进方向和策略 一、回顾小型字符级语言模型的处理流程 前文我们已经从零开始构建了一个小型字符级语言模型,那么如何改进和完善我们的模型呢?有哪些改进的方向?我们先回顾一下模型的流程: 图1 小型字符级语言模型的处理流程 (1)核心模块交互过程:…...

力扣-贪心-56 合并区间

思路 先按照左区间进行排序&#xff0c;然后初始化left和right&#xff0c;重叠时&#xff0c;更新right&#xff0c;不重叠时&#xff0c;收集区间 代码 class Solution { public:static bool cmp(vector<int> a, vector<int> b){if(a[0] b[0]){return a[1] &…...

vue 3D 翻页效果

<template><view class"swipe-container" touchstart"onTouchStart" touchmove"onTouchMove" touchend"onTouchEnd"><view class"page">初始页</view></view> </template><script&g…...

【系列专栏】银行信息系统研发外包风险管控-08

银行信息系统研发外包风险管控 在金融科技日新月异的当下&#xff0c;银行业务对信息系统的依赖程度与日俱增。为了充分利用外部专业资源&#xff0c;提升研发效率并合理控制成本&#xff0c;许多银行选择将信息系统研发外包。然而&#xff0c;这一策略在带来诸多便利的同时&a…...

SVN Update 冲突解决全攻略:从选项解析到实战决策

1. 当SVN Update遇到冲突时该怎么办&#xff1f; 第一次看到SVN update冲突提示时&#xff0c;我整个人都是懵的。屏幕上突然跳出一堆选项&#xff1a;p、df、e、mc、tc...这简直就像在玩解谜游戏。作为一个过来人&#xff0c;我完全理解这种手足无措的感觉。但别担心&#xf…...

80%的人维普降AI都踩了这个坑:只改词不改句式

title: “80%的人维普降AI都踩了这个坑&#xff1a;只改词不改句式” date: “2026-04-17” keywords: 维普降AI率方法维普AI率高怎么降维普AI检测不通过怎么办维普降AI踩坑维普AIGC检测率太高 tags:维普降AI率降AI误区论文降AI维普检测 description: “很多同学花大量时间做同…...

软件利益相关者管理中的期望管理者

软件利益相关者管理中的期望管理者 在软件开发过程中&#xff0c;利益相关者的期望管理是项目成功的关键因素之一。不同的利益相关者&#xff0c;如客户、开发团队、管理层和最终用户&#xff0c;往往对项目有不同的需求和预期。如果这些期望未能得到有效管理&#xff0c;可能…...

WorkshopDL终极指南:三步解决非Steam平台模组下载难题的完整方案

WorkshopDL终极指南&#xff1a;三步解决非Steam平台模组下载难题的完整方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 还在为Epic Games或GOG平台无法访问Steam创意工坊而…...

别再死记硬背AES列混合矩阵了!手把手带你从GF(2⁸)多项式推导出那个‘神秘’的4x4矩阵

从多项式运算到矩阵表示&#xff1a;彻底理解AES列混合的数学本质 第一次接触AES列混合时&#xff0c;那个神秘的4x4矩阵总是让人摸不着头脑。为什么是这些特定数字&#xff1f;为什么计算规则如此特殊&#xff1f;本文将带你从有限域GF(2⁸)的多项式运算出发&#xff0c;一步…...

Unity粒子系统保姆级避坑指南:从火焰特效到性能优化,新手必看的10个关键属性

Unity粒子系统实战避坑指南&#xff1a;火焰特效优化与性能调优的10个核心策略 刚接触Unity粒子系统的新手开发者&#xff0c;往往会被那些酷炫的火焰、烟雾和魔法效果吸引&#xff0c;却在实现过程中频繁遭遇性能瓶颈和效果失真。我曾在一个低配移动端的奇幻RPG项目中&#xf…...

从静态展示到动态仪表盘:用Vue和ECharts打造一个实时数据刷新的世界疫情/经济地图

从静态展示到动态仪表盘&#xff1a;用Vue和ECharts打造实时数据刷新的世界疫情/经济地图 当数据可视化从静态图表升级为动态仪表盘时&#xff0c;整个系统的业务价值会发生质的飞跃。想象一下&#xff0c;一个全球疫情监控大屏上&#xff0c;各国感染数据以热力图形式实时流动…...

别再问多少钱一公里了!手把手教你拆解无人机倾斜摄影建模的真实成本(附Smart3D/DP-Smart实战避坑)

无人机倾斜摄影建模成本全解析&#xff1a;从设备选型到项目落地的实战指南 "一平方公里1万元"的行业报价标准究竟靠不靠谱&#xff1f;这个问题困扰着无数初次接触倾斜摄影技术的项目决策者。作为从业八年的三维建模技术顾问&#xff0c;我必须指出&#xff1a;任何…...

如何快速配置WaveTools:鸣潮玩家必备的完整优化指南

如何快速配置WaveTools&#xff1a;鸣潮玩家必备的完整优化指南 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 你是否在《鸣潮》中遇到过帧率卡顿、画质设置受限的困扰&#xff1f;或者为繁琐的账号切换和…...

从手机到Wi-Fi:拆解你身边那些‘看不见’的射频滤波器(SAW/BAW/陶瓷)

从手机到Wi-Fi&#xff1a;拆解你身边那些‘看不见’的射频滤波器&#xff08;SAW/BAW/陶瓷&#xff09; 当你用手机刷视频、连Wi-Fi打游戏时&#xff0c;有没有想过这些无线信号是如何在复杂的电磁环境中保持稳定的&#xff1f;答案就藏在那些米粒大小的射频滤波器里。这些不起…...