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

【C++ Primer Plus习题】11.6

问题:

这里是引用

解答:
main.cpp

#include <iostream>
#include "Stonewt.h"
using namespace std;
const int SIZE = 6;int main()
{Stonewt stone_arr[SIZE] = { 253.6,Stonewt(8,0.35),Stonewt(23,0) };double input;Stonewt eleven = Stonewt(11, 0.0);Stonewt max = stone_arr[0];Stonewt min = stone_arr[0];int num = 0;for (int i = 3; i < SIZE; i++){cout << "请输入第" << i + 1 << "个元素的信息,用磅:";cin >> input;stone_arr[i] = Stonewt(input);}for (int i = 0; i < SIZE; i++){if (max < stone_arr[i])max = stone_arr[i];if (min > stone_arr[i])min = stone_arr[i];if (stone_arr[i] > eleven)num++;}cout << "max: " << max<<endl;cout << "min: " << min << endl;cout << "大于11的数量为:" << num << endl;return 0;
}

Stonewt.h

#pragma once
#include <iostream>
using namespace std;
class Stonewt
{
public:enum Mode { YIN, INT, FLOAT };
private:enum { Lbs_per_stn = 14 };int stone;double pds_left;double pounds;Mode mode;public:Stonewt(double lbs);Stonewt(int stn, double lbs);Stonewt();~Stonewt();void setMode(Mode m);Stonewt operator+(const Stonewt& s);Stonewt operator-(const Stonewt& s);Stonewt operator*(double n);bool operator>(const Stonewt& s);bool operator>=(const Stonewt& s);bool operator<(const Stonewt& s);bool operator<=(const Stonewt& s);bool operator!=(const Stonewt& s);bool operator==(const Stonewt& s);friend ostream& operator<<(ostream& os, const Stonewt& s);friend Stonewt operator*(double m, Stonewt& s) { return s * m; }
};

Stonewt.cpp

#include "Stonewt.h"
#include <iostream>
using namespace std;Stonewt::Stonewt(double lbs)
{stone = int(lbs) / Lbs_per_stn;pds_left = int(lbs) % Lbs_per_stn + lbs - int(lbs);pounds = lbs;mode = INT;
}
Stonewt::Stonewt(int stn, double lbs)
{stone = stn;pds_left = lbs;pounds = stn * Lbs_per_stn + lbs;mode = FLOAT;
}
Stonewt::Stonewt()
{stone = pounds = pds_left = 0;mode = YIN;
}
Stonewt::~Stonewt()
{}void Stonewt::setMode(Mode m)
{this->mode = m;
}
Stonewt Stonewt::operator+(const Stonewt& s)
{Stonewt temp;temp.pounds = pounds + s.pounds;temp.stone = temp.pounds / Lbs_per_stn;temp.pds_left = int(temp.pounds) % Lbs_per_stn + temp.pounds - int(temp.pounds);temp.mode = this->mode;return temp;
}
Stonewt Stonewt::operator-(const Stonewt& s)
{Stonewt temp;temp.pounds = pounds - s.pounds;temp.stone = temp.pounds / Lbs_per_stn;temp.pds_left = int(temp.pounds) % Lbs_per_stn + temp.pounds - int(temp.pounds);temp.mode = this->mode;return temp;
}
Stonewt Stonewt::operator*(double n)
{Stonewt temp;temp.pounds = pounds * n;temp.stone = temp.pounds / Lbs_per_stn;temp.pds_left = int(temp.pounds) % Lbs_per_stn + temp.pounds - int(temp.pounds);temp.mode = this->mode;return temp;
}ostream& operator<<(ostream& os, const Stonewt& s)
{if (s.mode == Stonewt::YIN){double st = s.stone + s.pds_left / Stonewt::Lbs_per_stn;os << st << " stone\n";}if (s.mode == Stonewt::INT){os << s.pounds << " pounds\n";}if (s.mode == Stonewt::FLOAT){os << s.stone << " stone, " << s.pds_left << " pounds\n";}return os;
}bool Stonewt::operator>(const Stonewt& s)
{return pounds > s.pounds;
}
bool Stonewt::operator>=(const Stonewt& s)
{return pounds >= s.pounds;
}
bool Stonewt::operator<(const Stonewt& s)
{return pounds < s.pounds;
}
bool Stonewt::operator<=(const Stonewt& s)
{return pounds <= s.pounds;
}
bool Stonewt::operator!=(const Stonewt& s)
{return pounds != s.pounds;
}
bool Stonewt::operator==(const Stonewt& s)
{return pounds == s.pounds;
}

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

考查点:

  • 比较运算符重载

2024年9月5日20:19:29

相关文章:

【C++ Primer Plus习题】11.6

问题: 解答: main.cpp #include <iostream> #include "Stonewt.h" using namespace std; const int SIZE 6;int main() {Stonewt stone_arr[SIZE] { 253.6,Stonewt(8,0.35),Stonewt(23,0) };double input;Stonewt eleven Stonewt(11, 0.0);Stonewt max st…...

Redis八种数据结构简介

Redis数据结构 Redis新旧版本中一共出现过八种数据结构&#xff0c;分别是SDS、双向链表、压缩列表、整数集合、哈希表、跳表、quicklist、listpack。 SDS SDS是用于存储Redis中字符串的数据结构&#xff0c;Redis底层使用的语言是C语言&#xff0c;因此字符串也是C语言的字…...

数据治理策略:确保数据资产的安全与高效利用

数据治理策略&#xff1a;确保数据资产的安全与高效利用 在数字化时代&#xff0c;数据已成为企业最宝贵的资产之一。然而&#xff0c;随着数据量的爆炸性增长和数据来源的多样化&#xff0c;如何有效地管理和利用这些数据成为企业面临的重要挑战。数据治理策略的制定和执行&a…...

ts格式转mp4,四款亲测好用软件推荐!

在这个数字视频时代&#xff0c;我们经常会遇到各种视频格式兼容性问题&#xff0c;尤其是从网络下载的高清电影或电视剧集&#xff0c;很多时候都是以TS格式存储。然而&#xff0c;当我们想要在移动设备、社交媒体或视频编辑软件中播放、上传时&#xff0c;MP4格式因其广泛的兼…...

10、Django Admin修改标题

admin from django.contrib import admin from .models import Category, Origin, Hero, Villain # 添加以下代码 admin.site.site_header "系统管理" admin.site.site_title "管理员界面" admin.site.index_title "欢迎来到这里&#xff…...

ESRI ArcGIS Pro 3.1.5新功能及安装教程和下载

ESRI ArcGIS Pro 3.1.5 主要新功能包括&#xff1a; 改进的数据编辑和管理&#xff1a;支持更多数据格式和更精细的属性表操作。增强的空间分析工具&#xff1a;新增和优化空间分析工具&#xff0c;提高数据分析效率。更好的3D可视化&#xff1a;改进3D渲染性能&#xff0c;支…...

人工智能,语音识别也算一种人工智能。

现在挺晚了&#xff0c;还是没有去睡觉&#xff0c;自己在想什么呢&#xff0c;也不确定。 这是一篇用语音写的文章&#xff0c;先按自己的想法说出来&#xff0c;然后再适当修改&#xff0c;也许就是一个不错的文章。 看来以后就不需要打字了&#xff0c;语音识别度很高&#…...

Token和Refresh Token

获取令牌&#xff08;Token&#xff09; 和 刷新令牌(Refresh Token&#xff09; 在认证和授权机制中有不同的使用场景和目的&#xff0c;二者主要的区别和为什么需要刷新令牌可以通过以下几点解释&#xff1a; 1. 获取令牌和刷新令牌的区别 获取令牌&#xff08;Token&#x…...

STM32(一)简介

一、stm32简介 1.外设接口 通过程序配置外设来完成功能 2.系统结构 3.引脚定义 4.启动配置 5.最小系统电路...

接口测试工具:Postman详解

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、前言 在前后端分离开发时&#xff0c;后端工作人员完成系统接口开发后&#xff0c;需要与前端人员对接&#xff0c;测试调试接口&#xff0c;验证接口的正确性…...

Linux中全局变量配置,/etc/profile.d还是/etc/profile

全局环境变量可以放在 /etc/profile 或 /etc/profile.d/ 中&#xff0c;但两者的使用方式和目的有所不同&#xff1a; /etc/profile 作用: /etc/profile 是一个系统范围的启动脚本&#xff0c;在用户登录时执行。它主要用于设置全局环境变量和配置&#xff0c;适用于所有用户。…...

【java入门】关键字、标识符与变量初识

&#x1f680; 个人简介&#xff1a;某大型国企资深软件开发工程师&#xff0c;信息系统项目管理师、CSDN优质创作者、阿里云专家博主&#xff0c;华为云云享专家&#xff0c;分享前端后端相关技术与工作常见问题~ &#x1f49f; 作 者&#xff1a;码喽的自我修养&#x1f9…...

Java常用类库

Java常用类库 1. **Java基础类库**1.1 **java.lang**1.2 **java.util**1.3 **java.io**1.4 **java.nio**1.5 **java.time** 2. **第三方类库**2.1 **Apache Commons**2.2 **Google Guava**2.3 **Jackson**2.4 **Lombok** 3. **Spring相关类库**4. **并发类库**4.1 **java.util.…...

2024年高教社杯数学建模国赛C题超详细解题思路分析

本次国赛预测题目难度&#xff0c;选题人数如下所示 难度评估 A:B:C 1.8:1.3:1 D:E1.5:1 选题人数 A:B:C 1:1.5:2.8 D:E0.5:1.2 C题一直以来都是竞赛难度最低、选题人数最多的一道本科生选题&#xff0c;近三年C题的选题人数一直都是总参赛队伍的一半左右&#xff0c;2023年…...

深度学习(七)-计算机视觉基础

计算机视觉 计算机视觉在广义上是和图像相关的技术总称。包括图像的采集获取&#xff0c;图 像的压缩编码&#xff0c;图像的存储和传输&#xff0c;图像的合成&#xff0c;三维图像重建&#xff0c;图像增强&#xff0c;图像修复&#xff0c;图像的分类和识别&#xff0c;目…...

机器人笛卡尔空间轨迹规划原理与MATLAB实现

机器人笛卡尔空间轨迹规划是指在给定的笛卡尔坐标系&#xff08;通常是三维空间坐标系&#xff09;中规划机器人的末端执行器&#xff08;如抓手、焊枪等&#xff09;的移动路径。这种规划方式直观且易于理解&#xff0c;因为它直接关联到任务空间中机器人的位置和姿态。下面将…...

数据结构:树与二叉树

1、树的基本概念 1.1树的定义 树是n个结点的有限集。 若n0&#xff0c;称为空树&#xff1b;若n>0称为非空树&#xff0c;非空树有且仅有一个称之为根的结点。 除根结点以外的其余结点可分成m个互不相交的有限集T1,T2,......Tm,每个有限集合本身又是一棵树&#xff0c;并…...

BUUCTF—[网鼎杯 2020 朱雀组]phpweb

题解 打开题目是这样子的。 啥也不管抓个包看看&#xff0c;从它返回的信息判断出func后面的是要调用的函数&#xff0c;p后面的是要执行的内容。 那我们直接执行个系统命令看看&#xff0c;可以看到返回了hack&#xff0c;估计是做了过滤。 funcsystem&pls 直接读取源码…...

什么是CDN及其如何影响SEO?

有没有想过&#xff0c;为什么你的网站在谷歌搜索结果的后几页徘徊&#xff0c;即使你已经优化了每一个网页&#xff1f; 有时候&#xff0c; 慢速的网站性能可能是罪魁祸首。 如果这个问题引起了你的共鸣&#xff0c;那么你可能想要探索一下内容分发网络&#xff08;Content…...

python实现粒子群算

博客目录 引言 什么是粒子群算法&#xff08;PSO&#xff09;&#xff1f;粒子群算法的应用场景为什么使用粒子群算法&#xff1f; 粒子群算法的原理 粒子群算法的基本概念粒子位置和速度的更新规则粒子群算法的流程粒子群算法的特点与优势 粒子群算法的实现步骤 初始化粒子群…...

多动症早期识别是什么?运动干预在儿童注意力缺陷中的作用是什么?

多动症早期识别如何影响儿童学习过程 多动症早期识别对儿童学习过程有着至关重要的影响。早期识别能够及时发现孩子在注意力集中方面的困难&#xff0c;并帮助教育工作者和家长采取有效应对措施。根据研究&#xff0c;注意力不集中可能导致学习成绩下降&#xff0c;影响孩子的自…...

YOLOv8 ROS 2完整部署教程:让机器人拥有火眼金睛的终极指南

YOLOv8 ROS 2完整部署教程&#xff1a;让机器人拥有火眼金睛的终极指南 【免费下载链接】yolov8_ros Ultralytics YOLOv8, YOLOv9, YOLOv10, YOLOv11, YOLOv12 for ROS 2 项目地址: https://gitcode.com/gh_mirrors/yo/yolov8_ros 想要为你的机器人项目添加业界领先的视…...

如何通过Winhance中文版实现Windows系统全面优化与个性化定制

如何通过Winhance中文版实现Windows系统全面优化与个性化定制 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winhance-zh_CN …...

计算机中级-数据库系统工程师-操作系统-设备管理

一、设备管理1. 考点核心考点&#xff1a;设备管理主要包含三个考点&#xff1a;I/O设备管理软件、Spooling技术和磁盘调度算法2. 设备管理的概述自学内容&#xff1a;包括设备的分类、设备管理的目标与任务&#xff0c;建议直接阅读教材相关内容3. I/O设备管理软件1&#xff0…...

SITS2026首席架构师亲授:从代码提交率到AI协作熵值——用4类文化指标量化研发团队AI就绪度

第一章&#xff1a;SITS2026演讲&#xff1a;AI原生研发的文化变革 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026主会场&#xff0c;来自全球17家头部科技企业的工程负责人共同指出&#xff1a;AI原生研发已不再仅是工具升级&#xff0c;而是一场覆盖协作范式、质…...

你的SSH密钥可能已经过期了运

引言 在现代软件开发中&#xff0c;性能始终是衡量应用质量的重要指标之一。无论是企业级应用、云服务还是桌面程序&#xff0c;性能优化都能显著提升用户体验、降低基础设施成本并增强系统的可扩展性。对于使用 C# 开发的应用程序而言&#xff0c;性能优化涉及多个层面&#x…...

智赋学术・真实赋能|虎贲等考 AI:全流程论文写作辅助平台,以真文献・真数据・真工具重构学术创作

虎贲等考 AI 智能写作&#xff08;https://www.aihbdk.com/&#xff09;是一款基于人工智能深度模型研发的论文写作辅助工具&#xff0c;专注服务于本专科、硕士、博士等各阶段学生与科研人员&#xff0c;以全流程覆盖、真实学术资源、硬核实证工具、高度合规安全为核心定位&am…...

医疗器械软件生命周期管理注意事项

医疗器械软件生命周期管理注意事项 医疗器械软件生命周期管理需遵循严格的法规要求和质量控制标准&#xff0c;确保软件的安全性、有效性和合规性。以下是关键注意事项&#xff1a; 法规与标准合规 确保符合所在地区的法规要求&#xff0c;如FDA的21 CFR Part 820&#xff08;美…...

ISE 14.7在Win10虚拟机里卡死闪退?一个输入法设置帮你搞定(附完整安装避坑指南)

ISE 14.7虚拟机环境配置全攻略&#xff1a;从输入法陷阱到FPGA开发实战 刚接触FPGA开发的新手们&#xff0c;是否曾在虚拟机里安装ISE时遭遇过输入项目名称就闪退的崩溃瞬间&#xff1f;这个问题困扰过无数开发者&#xff0c;而解决方案往往藏在不显眼的系统设置里。本文将带你…...

二次元游戏模组管理革命:为什么你需要一个统一的启动器平台?

二次元游戏模组管理革命&#xff1a;为什么你需要一个统一的启动器平台&#xff1f; 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 你是否曾为管理多个二次元游戏的模组而头疼&…...