1.简单工厂模式

UML类图

在这里插入图片描述

代码

main.cpp

#include <iostream>
#include "OperationFactory.h"
using namespace std;int main(void) {float num1;float num2;char operate;cin >> num1 >> num2 >> operate;Operation* oper = OperationFactory::createOperate(operate);oper->setnumA(num1);oper->setnumB(num2);double result = oper->getResult();cout << result << endl;return 0;
}

OperationFactory.h

#include"Operation.h"
#include<string>
using namespace std;
class OperationFactory {
public:static Operation* createOperate(char operate) {Operation *oper = NULL;switch (operate) {case '+':oper = new OperationAdd();break;case '-':oper = new OperationSub();break;case '*':oper = new OperationMul();break;case '/':oper = new OperationDiv();break;}return oper;}
};

Operation.h

 class Operation {//运算类基类protected:float numA = 0;float numB = 0;public:void setnumA(float paramA) {numA = paramA;}void setnumB(float paramB) {numB = paramB;}virtual float getResult() {float result = 0;return result;}};class OperationAdd :public Operation {//加法类派生类public:float getResult() {float result = 0;result = numA + numB;return result;}};class OperationSub :public Operation {//派生减法类public:float getResult() {float result = 0;result = numA - numB;return result;}};class OperationMul :public Operation {//派生乘法类public:float getResult() {float result = 0;result = numA * numB;return result;}};class OperationDiv :public Operation {//派生除法类public:float getResult() {float result = 0;result = numA / numB;return result;}};

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

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

相关文章

Mars3d插件参考开发教程并在相关页面引入

问题场景&#xff1a; 1.在使用Mars3d热力图功能时&#xff0c;提示mars3d.layer.HeatLayer is not a constructor 问题原因: 1.mars3d的热力图插件mars3d-heatmap没有安装引用。 解决方案&#xff1a; 1.参考开发教程&#xff0c;找到相关的插件库&#xff1a;Mars3D 三维…

Taro小程序隐私协议开发指南填坑

一. 配置文件app.config.js export default {...__usePrivacyCheck__: true,... }二. 开发者工具基础库修改 原因&#xff1a;从基础库 2.32.3 开始支持 修改路径&#xff1a;详情->本地设置->调试基础库 三. 用户隐私保护指引更新 修改路径&#xff1a;mp后台->设…

二叉树的几个递归问题

我的主页&#xff1a;Lei宝啊 愿所有美好如期而遇 前言&#xff1a; 二叉树的递归是二叉树很重要的问题&#xff0c;几乎解决二叉树的问题都要使用递归&#xff0c;接下来我们将解决二叉树几个最基础的递归问题。 目录 前言&#xff1a; 二叉树的前序&#xff0c;中序&…

【GAN入门】生成 AI的概念

一、说明 GAN是生成对抗网络&#xff08;Generative Adversarial Network&#xff09;的缩写&#xff0c;是一种无监督学习算法&#xff0c;由Goodfellow等人于2014年提出。GAN由一个生成器网络和一个判别器网络组成&#xff0c;通过二者之间的对抗来训练生成器网络生成与真实样…

用Python实现链式调用

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 我们在使用Django的models查询数据库时&#xff0c;可以看到有这种写法&#xff1a; form app.models import XXX query XXX.objects.all() query query.filter(name123, age456).filter(salary999)在这种写法里面&#xf…

AI生成文章-AI文章生成工具

随着社会的发展人工智能技术的突破&#xff0c;越来越多的人开始使用AI来生成文章&#xff0c;但是有一个问题一直困扰着大家&#xff1a;AI生成的文章会不会变得千篇一律&#xff0c;重复无新意呢&#xff1f; AI生成文章的兴起 让我们简要回顾一下AI生成文章的兴起。随着深度…

ES6——知识点记录

这里写目录标题 1.字符串支持1.codePointAt——根据字符串码元的位置得到其码点2.includes——判断字符串中是否包含指定的子字符串3.startsWith——判断字符串中是否以指定的字符串开始4.endsWith——判断字符串中是否以指定的字符串结尾5.repeat——将字符串重复指定的次数&a…

JDBC 学习笔记(基础)

示意图 目录 创建 JDBC 应用 例子&#xff1a;通过本地协议纯 Java 驱动程序实现JDBC 代码具体步骤&#xff1a; 1.注册驱动 2.建立与数据库的连接 3.获取执行SQL语句的对象 Statement 4.定义执行 SQL 语句 5.操作结果集对象 ResultSet 6.关闭操作对象及连接对象 JD…

【Tricks】关于如何防止edge浏览器偷取chrome浏览器的账号

《关于如何防止edge浏览器偷取chrome浏览器的账号》 前段时间edge自动更新了&#xff0c;我并没有太在意界面的问题。但是由于我使用同一个网站平台时&#xff0c;例如b站&#xff0c;甚至是邮箱&#xff0c;edge的账号和chrome的账号会自动同步&#xff0c;这就导致我很难短时…

CSS 实现祥云纹理背景

&#x1fab4; 背景 最近掘金出来一个中秋创意活动&#xff0c;我准备参加一下。作品方向选择用纯css做一个中秋贺卡&#xff0c;其中有一些中秋的元素和一些简单的动画&#xff0c;而贺卡背景的实现就是本文要讲的内容。 中秋贺卡成果图&#xff08;生成gif有点失真&#x1f6…

亚马逊鲲鹏系统日程控制功能可自动管理你的买家号

亚马逊鲲鹏系统是一款针对亚马逊买家号功能比较齐全的软件&#xff0c;可以批量注册、智能养号、自动下单、自动留评、QA等&#xff0c;这一系列功能都可以用日程控制进行管理操作。日程控制管理可以让你在吃饭睡觉、逛街玩耍时自动管理你的买家账号。 日程管理功能可以设置每月…

数据结构——二叉搜索树

二叉搜索树是二叉树的一种特殊形式。 二叉搜索树具有以下性质&#xff1a; 1.每个节点中的值必须大于&#xff08;或等于&#xff09;其左侧子树中的任何值 2.每个节点中的值必须小于&#xff08;或等于&#xff09;其右侧子树中的任何值。 像普通的二叉树一样&#xff0c;我们…

分享美好瞬间,内网穿透工具助您实现公网访问本地私人图床

文章目录 1. 树洞外链网站搭建1.1 下载安装树洞外链1.2 树洞外链网页测试1.3 cpolar的安装和注册 2.本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3 Cpolar稳定隧道&#xff08;本地设置&#xff09; 3.公网访问测试 社交平台具有庞…

《Playing repeated games with Large Language Models》全文翻译

《Playing repeated games with Large Language Models》- 使用大型语言模型玩重复游戏 论文信息摘要1. 介绍2. 相关工作3. 一般方法4. 分析不同游戏系列的行为5. 囚徒困境5.1 性别之战 6. 讨论 论文信息 题目&#xff1a;《Playing repeated games with Large Language Model…

js中运算规则

法&#xff1a; 有对象&#xff0c;对象是根据object.valueof().toString()返回的值 //toString的对象 var obj2 {toString:function(){return a} } console.log(2obj2) //输出结果2a//常规对象 var obj1 {a:1,b:2 } console.log(2obj1)&#xff1b; //输出结果 2[object…

uniapp h5 echarts 打包后图表点击失效/及其他失效

文章目录 期望效果实际效果环境引入echarts方式解决方法&#xff1a;注意 原因多说一句在h5打包的时候将 history 改为 hash 不然在浏览器打开后刷新会404 期望效果 实际效果 环境 pc端 window11 hbuilderx版本 3.8.12 echarts版本 5.4.3 引入echarts方式 npm install echar…

华为云云服务器云耀L实例评测 | 从零开始:华为云云服务器L实例使用教程

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

阿里云无影云桌面APP客户端下载(无影云电脑)

阿里云无影云电脑APP下载链接入口&#xff0c;支持iOS、Android、Windows、macOS和Web客户端&#xff0c;阿里云百科分享阿里云无影云电脑APP下载链接&#xff1a; 目录 阿里云无影云电脑APP下载链接入口 Windows客户端 macOS客户端 Web网页客户端 iOS客户端 Android客户…

自动驾驶之高精地图介绍

高精地图 文章目录 高精地图前言什么是高精地图高精数据分发引擎1.3 名词解释1. ADAS(Advanced DriverAssistance System)2. 为什么需要高精数据的分发引擎 高精数据分发引擎的建设高精数据分发引擎与ADAS应用的关系高精数据分发引擎架构高精数据分发引擎的模型表达路网模型的抽…

详解API接口如何安全的传输数据

概述 API接口的安全传输是确保数据在API请求和响应之间的传输过程中不被截获、篡改或泄露的重要步骤。以下是一些用于增强API接口安全传输的常见技术和最佳实践&#xff1a; 使用HTTPS&#xff1a;使用HTTPS协议而不是HTTP&#xff0c;以确保数据在传输过程中的安全性。HTTPS使…