C++猫和老鼠有多重(友元函数初步)

定义猫和老鼠:Cat与Mouse两个类,二者都有weight属性,定义二者的一个友元函数totalweight(),计算二者的重量和。

裁判测试程序样例:

#include <iostream>
using namespace std;/* 请在这里填写答案 */int main()
{int w1,w2;cin>>w1>>w2;Cat tom(w1);Mouse jerry(w2);cout<<totalWeight(tom,jerry)<<endl;
}

输入样例:

100 200

输出样例:

300

思路: 

// 前向声明猫类,以便在鼠类中声明友元函数时使用
class Cat;// 鼠类
class Mouse{
public:// 鼠类的构造函数,用于初始化重量属性Mouse(int w):weight(w){} // 声明totalWeight函数为鼠类的友元函数,以便在函数中访问鼠类的私有成员friend int totalWeight(const Cat& c, const Mouse& m); 
private:int weight; // 鼠的重量
};// 猫类
class Cat{int weight; // 猫的重量
public:// 猫类的构造函数,用于初始化重量属性Cat(int w):weight(w){} // 声明totalWeight函数为猫类的友元函数,以便在函数中访问猫类的私有成员friend int totalWeight(const Cat& c, const Mouse& m); 
};// 计算猫和鼠的总重量的友元函数
int totalWeight(const Cat& c, const Mouse& m) { return c.weight + m.weight; // 返回猫和鼠的总重量
}

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

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

相关文章

第六周学习笔记DAY.4-方法与方法重载

如何创建和使用对象 创建对象 类名 对象名 new 类名(); 引用对象成员&#xff1a;使用“.”进行以下操作 引用类的属性&#xff1a;对象名.属性 用类的方法&#xff1a;对象名.方法名() 学完本次课程后&#xff0c;要求能够&#xff1a; 方法的参数传递 会使用构造方法…

总结SQL相对常用的几个字符函数

目录 字符的截取 substr() trim()、ltrim()、rtrim() 字符串的拼接 ||、 字符的大小写转换 upper(column_name):大写 lower(column_name):小写 字符替换 replace() 搜索字符 instr(column_name, substring_to_find,start,n_appearence) charindex(substring_to_fi…

【问题解决】ubuntu安装新版vscode报code-insiders相关错误

问题 目前 vscode官网 最新的包为 insiders_1.89.0-1712297812_amd64.deb &#xff0c;双击或者使用sudo dpkg -i code-insiders_1.89.0-1712297812_amd64.deb安装后报错&#xff0c;执行其他命令也报错。 安装环境&#xff1a;ubuntu18.04 dpkg: 处理软件包 code-insiders (…

火绒安全软件:程序员的网络守护天使

目录 前言 系统防护 网络防护 隐私保护 高级设置 软件安全 响应速度 持续更新 总结 前言 在这个充满机遇与挑战的数字时代&#xff0c;程序员们如同探险家&#xff0c;不断探索着代码的新大陆。然而&#xff0c;网络世界也充斥着各种未知的风险和威胁。火绒安全软件&a…

riscv-gnu-toolchain 交叉编译器如何构建?

安装依赖工具 sudo apt-get install git autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf patchutils bc libexpat-dev libglib2.0-dev ninja-build zlib1g-dev pkg-config libboost-all-dev…

基于java+springboot+vue实现的药品管理系统(文末源码+Lw)23-297

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;药品信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不能满足广…

Linux命令-dpkg-query命令(Debian Linux中软件包的查询工具)

说明 dpkg-query命令 是Debian Linux中软件包的查询工具&#xff0c;它从dpkg软件包数据库中查询并辨识软件包的信息。 语法 dpkg-query(选项)(参数)选项 -l&#xff1a;列出符合匹配模式的软件包&#xff1b; -s&#xff1a;查询软件包的状态信息&#xff1b; -L&#xff1…

llama-factory SFT系列教程 (二),大模型在自定义数据集 lora 训练与部署

文章目录 简介支持的模型列表2. 添加自定义数据集3. lora 微调4. 大模型 lora 权重&#xff0c;部署问题 参考资料 简介 llama-factory SFT系列教程 (一)&#xff0c;大模型 API 部署与使用本文为 llama-factory SFT系列教程的第二篇&#xff1b; 支持的模型列表 模型名模型…

Composer安装与配置

Composer&#xff0c;作为PHP的依赖管理工具&#xff0c;极大地简化了PHP项目中第三方库的安装、更新与管理过程。本文将详细介绍Composer的安装步骤、基本配置方法&#xff0c;以及一些实用的操作示例&#xff0c;帮助读者快速上手并熟练运用Composer。 一、Composer安装 环…

C++内存分布

C代码编译过程 预处理 宏定义展开、头文件展开、条件编译&#xff0c;这里并不会检查语法编译检查语法&#xff0c;将预处理后文件编译生成汇编文件汇编将汇编文件生成目标文件(二进制文件)链接将目标文件链接为可执行程序 进程的内存分布 程序运行起来(没有结束前)就是一个…

mysql开启慢日志mysqld: File ‘xxx‘ not found (Errcode: 13 - Permission denied)

问题描述: mysql版本:5.74 开启mysql慢日志 一直报错 慢日志文件手动创建 并把慢日志文件权限给mysql:mysql 还是不行,于是找方案,找了几个都不行,后来发现是系统安全设置 解决方案 前提是日志文件存在且授权给用户mysql以及组mysql 具体如何关闭selinux&#xff1a; v…

CSS单位选择的艺术:何时何地选用何种单位

CSS单位作为网页样式设计的基石&#xff0c;直接影响着元素尺寸、间距、字体大小等视觉呈现。选择合适的单位对于构建响应式、跨设备兼容且易于维护的界面至关重要。本文将深入分析各类CSS单位&#xff0c;并探讨在不同场景下应选用何种单位&#xff0c;同时揭示各单元的优缺点…

SQL Server 存储函数(funGetId):唯一ID

系统测试时批量生成模拟数据&#xff0c;通过存储函数生成唯一ID。 根据当前时间生成唯一ID&#xff08;17位&#xff09; --自定义函数&#xff1a;根据当前时间组合成一个唯一ID字符串:yearmonthdayhourminutesecondmillisecond drop function funGetId;go--自定义函数&…

2024年MathorCup数学建模B题甲骨文智能识别中原始拓片单字自动分割与识别研究解题文档与程序

2024年第十四届MathorCup高校数学建模挑战赛 B题 甲骨文智能识别中原始拓片单字自动分割与识别研究 原题再现&#xff1a; 甲骨文是我国目前已知的最早成熟的文字系统&#xff0c;它是一种刻在龟甲或兽骨上的古老文字。甲骨文具有极其重要的研究价值&#xff0c;不仅对中国文…

2024年MathorCup数模竞赛C题详解

C题持续更新中 问题一问题二代码混合ARIMA-LSTM模型构建完整数据与代码第一问第二问 问题一 问题一要求对未来30天每天及每小时的货量进行预测。首先&#xff0c;利用混合ARIMA-LSTM模型进行时间序列预测。ARIMA模型擅长捕捉线性特征和趋势&#xff0c;而LSTM模型处理非线性关…

elementui中el-select下拉列表偏移问题

问题截图 解决方法 在el-select中添加:popper-append-to-body"false"即可 加完后的效果

【Leetcode】正则表达式

正则表达式&#xff1a;检查字符串是否与指定模式匹配 指定模式&#xff1a;re.compile(rxxxxxxx) 符号规则规则释义^指定开头^S 匹配以S开头的字符串$指定结尾a$ 匹配以a结尾的字符串^ $严格匹配^Sa$ 只能匹配Sa[]字符簇[a-z0-9] 匹配小写字符或数字[^ ]排除[^A-…

Leetcode刷题之轮转数组

Leetcode刷题之轮转数组 一、题目描述二、题目解析方法一&#xff1a;三段逆置题目代码 方法二:利用memcpy进行拷贝运行结果 一、题目描述 轮转数组 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 示例 1: 输入: nums […

使用夜神模拟器进行android开发

1. 安装 进入 夜神模拟器官网 进行下载安装 2. 使用 找到夜神模拟器安装路径下的 bin 文件夹&#xff1a;C:\Program Files (x86)\Nox\bin 切换到 bin 目录之后&#xff0c;输入以下命令连接模拟器&#xff1a; nox_adb connect 127.0.0.1:62001 在启动 android 项目前&…

机器学习—数据集(二)

1可用数据集 公司内部 eg:百度 数据接口 花钱 数据集 学习阶段可用的数据集&#xff1a; sklearn:数据量小&#xff0c;方便学习kaggle&#xff1a;80万科学数据&#xff0c;真实数据&#xff0c;数据量大UCI&#xff1a;收录了360个数据集&#xff0c;覆盖科学、生活、经济等…