第十五单元日考技能

文章目录

  • 第十五单元
    • 1.编写一个基于对象的程序,求长方体的体积,要求:
    • 2.编写strcpy函数(10分)
    • 3.建立一个类String,连接两个字符串后。具体要求:

第十五单元

1.编写一个基于对象的程序,求长方体的体积,要求:

① 定义头文件
② 定义一个长方体类Box,
③ 类内有私有数据成员lengh(长),width(宽),height(高)
④ 在类内公有成员函数get_value(),volume()。
⑤ get_value()函数在类外定义,get_value()作用是从键盘输入长,宽,高的值。
⑥ volume()函数在类外定义,volume()的作用是计算长方体的体积并在屏幕上显示。
⑦ 在main()函数定义Box类的对象box1
⑧ 调用get_value()函数给长、宽、高赋值
⑨ 调用volume()函数输出长方体体积。
⑩ 按照题目要求写好注释。

class Box{
private:int lengh;int width;int height;
public:void get_value(); //没有函数体,只有函数定义void volume();
};void Box::get_value(){cout << "输入长宽高"  << endl;cin >> lengh >> width >> height;
}void Box::volume(){cout << lengh*width*height << endl;
}int main(){Box box; //创建对象,因为没有带参构造所以不用加()box.get_value(); //调用函数给属性赋值box.volume(); //调用函数计算体积
}

2.编写strcpy函数(10分)

已知strcpy函数的原型是char * strcpy(char * strDest, const char * strSrc);其中strDest是目的字符串,strSrc是源字符串
① 定义头文件
② 不调用C++/C的字符串库函数,请编写函数 strcpy
③ strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?
④ 输出正确

char * strcpy(char * arr1, const char * arr2){for(int i = 0;i<2;i++){*arr1 = *arr2; //把arr2的数据给arr1arr2++;arr1++;}
}int main(){char arr1[2]; //空char arr2[2] = {'a','b'};strcpy(arr1,arr2); //字符复制功能//打印看结果for(int i= 0;i<2;i++){cout << arr1[i];}
}

3.建立一个类String,连接两个字符串后。具体要求:

① 按照要求输入头文件
② 定义私有数据成员:int Length;//字符串的长度
③ 定义私有数据成员:char *s; //指向字符串的指针
④ 定义公有成员
⑤ 定义构造函数
⑥ 定义析构函数
⑦ 定义拷贝函数
String operator+(String &);//重载“+”运算符
String operator=(String &);//重载“=”运算符
void show(); //输出两个字符串和结果字符

class String {int len;char *s;
public:String(int len,char *s){this->len = len;this->s=s;}~String(){cout << "这里要销毁对象";}String operator+(String a){char *temp= new char[len+a.len]; //定义空数组strcpy(temp,s); //先把abc放到数组中strcat(temp,a.s); //再把bcd追加进去cout << temp << endl;}String operator=(String a){cout << "这里重载=号"<< endl;}void show(String str1,String str2){str1+str2;}
};
int main(){String a(3,"abc");String b(3,"bcd");a.show(b,a);
} //答案是abcbcd

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

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

相关文章

《详解:鸿蒙NEXT开发核心技术》

我们现在都知道鸿蒙作为一个国产的全栈自研系统&#xff0c;经过国家主推后。已经引起人们很大的关注&#xff0c;其中作为开发者来说&#xff1b;许多一线大厂已经与其华为鸿蒙展开原生应用的合作了&#xff0c;目前了解到已经有200家。而之后出现了很多的高薪鸿蒙开发岗位&am…

【数据库-黑马笔记】基础-SQL

本文参考b站黑马数据库视频,总结详细全面的笔记 ,可结合视频观看1~26集 MYSQL 的基础知识框架如下 目录 一、MYSQL概述 1、数据库相关概念 2、MYSQL的安装及启动 二、SQL 1、DDL【Data Defination】 2、DML【Data Manipulation】 ①、插入 ②、更新和删除 3、 DQL【Data…

DAY by DAY 史上最全的Linux常用命令汇总----history游览历史

history游览历史 当系统执行过一些命令后&#xff0c;可按上下键翻看以前的命令&#xff0c;history将执行过的命令列举出来 history保留了最近执行的命令记录&#xff0c;默认可以保留1000。 历史清单从0开始编号到最大值。 常见用法&#xff1a; history N 显示最近…

Linux本地搭建FastDFS系统

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

Redis 中的 redis-cli 详解和参数介绍

redis-cli 要了解redis-cli的全部参数&#xff0c; 可以执行 redis-cli-help 命令来进行查看 -r -r&#xff08;repeat&#xff09; 选项代表将命令执行多次 例如下面操作将会执行三次 ping 命令 $ redis-cli -r 3 ping PONG PONG PONG -i -i&#xff08;interval&…

320: 鸡兔同笼(python)

题目描述 一个笼子里关了鸡和兔&#xff08;鸡有2只脚&#xff0c;兔又4只脚&#xff0c;没有例外&#xff09;。已知笼子里面脚的总数a&#xff0c;问笼子里面至少有多少只动物&#xff0c;至多有多少只动物&#xff1f; 输入 多组测试数据。第一行是测试数据的组数n&#…

nginx多级代理配置获取客户端真实ip

流量路径 #mermaid-svg-NX785p8k6RVBngHY {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-NX785p8k6RVBngHY .error-icon{fill:#552222;}#mermaid-svg-NX785p8k6RVBngHY .error-text{fill:#552222;stroke:#552222;}#…

jenkins部署go应用 基于docker-compose

丢弃旧的的构建 github 拉取代码 指定go的编译版本 安装插件 拉取代码是排除指定的配置文件 比如 conf/config.yaml 文件 填写配置文件内容 比如测试环境一些主机信息 等 可以配置里面 构建的时候选择此文件替换开发提交的配置文件。。。。 编写docker-compose 文件 docker…

android metaRTC编译

参考文章&#xff1a; metaRTC3.0稳定版本编译指南_metartc 编译-CSDN博客 源码下载&#xff1a; Releases metartc/metaRTC GitHub 版本v6.0-b4即可

短视频解析接口分发系统

宝塔面板&#xff1a;Nginx系统 php7.2 Mysql 5.6-5.7 伪静态Thinkphp 上传文件直接访问域名安装即可 可以自备 听说后边要出saas去水印小程序 下载地址&#xff1a;https://pan.xunlei.com/s/VNskSEelfRVIzoSm5P5Rcw34A1?pwdqzhh# 接口演示&#xff1a; 前端演示…

C#编写函数

C#函数是一段可重复使用的代码块&#xff0c;用于执行特定的任务。它们可以接受输入参数并返回结果。在C#中&#xff0c;函数定义包括函数名、返回类型、参数列表和函数体。 public static int Add(int a, int b) {int sum a b;return sum; }在这个示例中&#xff0c;函数名…

解决ipconfig不是内部或外部命令,也不是可运行的程序或批处理文件

问题所示&#xff1a;ipconfig不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 解决办法如下: 1.右击此电脑&#xff0c;点击属性设置&#xff1a; 2.点击高级系统设置 3.点击进入环境变量 4.在系统变量中进行设置&#xff0c;双击PATH进行配置 5.点击新建&am…

2024-Android大厂(字节跳动,腾讯

PS&#xff1a;全文点击蓝色文字&#xff0c;即可跳转链接 【字节面试官&#xff1a;看了3000多份简历&#xff0c;面试1000场后&#xff0c;想给金九银十找工作的程序员几点建议附大厂真题面经】 本文主要介绍校招&#xff0c;上半年疫情原因真正面试的时间和机会也不多&#…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的零售柜商品检测软件(Python+PySide6界面+训练代码)

摘要&#xff1a;开发高效的零售柜商品识别系统对于智能零售领域的进步至关重要。本文深入介绍了如何运用深度学习技术开发此类系统&#xff0c;并分享了全套实现代码。系统采用了领先的YOLOv8算法&#xff0c;并与YOLOv7、YOLOv6、YOLOv5进行了性能比较&#xff0c;呈现了诸如…

FDU 2021 | 二叉树关键节点的个数

文章目录 1. 题目描述2. 我的尝试 1. 题目描述 给定一颗二叉树&#xff0c;树的每个节点的值为一个正整数。如果从根节点到节点 N 的路径上不存在比节点 N 的值大的节点&#xff0c;那么节点 N 被认为是树上的关键节点。求树上所有的关键节点的个数。请写出程序&#xff0c;并…

最新CLion + STM32 + CubeMX 开发环境搭建

网上有不少相关教程&#xff0c;但都是基于老版本Clion&#xff0c;新版有一些改变&#xff0c;但整体是简单了。 PS&#xff1a;本教程基于CLion 2023.3.4 安装所需工具参考&#xff1a;Clion搭建stm32开发环境&#xff08;STM32F103C8T6&#xff09;&#xff0c;有这一篇就够…

今天做了两个工具

URL可用性检测 2.影视 第一个工具为第二个工具服务&#xff0c;一定程度上检测了搜集到视频解析接口是否可用。

前端开发小技巧 - 【Vue3 + TS】 - 在 TS + Vue3 中使用 Pinia,实现 Pinia 的持久化,优化Pinia(仓库统一管理)

前言 ts 中使用 pinia 和 Vue3 基本一致&#xff0c;唯一的不同点在于&#xff0c;需要根据接口文档给 state 标注类型&#xff0c;也要给 actions 标注类型&#xff1b;以下都是 组合式API 的写法&#xff0c;选项式API 的写法大家可以去官网看看&#xff1b; Pinia&#xff…

【Flutter 面试题】在Flutter中如何处理用户输入和手势操作?

【Flutter 面试题】在Flutter中如何处理用户输入和手势操作&#xff1f; 文章目录 写在前面解答补充说明完整代码示例运行结果详细说明 写在前面 &#x1f64b; 关于我 &#xff0c;小雨青年 &#x1f449; CSDN博客专家&#xff0c;GitChat专栏作者&#xff0c;阿里云社区专家…

Python web框架fastapi中间件的使用

FastAPI 是一个用于构建 API 的现代、快速&#xff08;高性能&#xff09;的 web 框架&#xff0c;基于标准 Python 类型提示。中间件在 FastAPI 中是一个强大的工具&#xff0c;允许你在请求到达路由处理函数之前或响应返回给客户端之后执行一些代码。 下面是一个使用 FastAP…