【27续】c++项目练习
定义一个或多个类,来描述以下需求:
汽车,有多个轮胎,一个发动机,品牌,型号, 价格, 行驶里程。
轮胎,有品牌,尺寸,气压。
发动机,有品牌,型号。
自编代码如下:(不是参考答案,只是我自己写的代码,但是也是可以跑通的)
Engine
.h
#pragma once
#include <string>using namespace std;class Engine
{
public:Engine();Engine(const string engineBrand, float engineVersion);~Engine();string getEngineBrand();float getEngineVersion();string discription();private:string engineBrand;float engineVersion;
};
.cpp
#include "Engine.h"
#include <sstream>Engine::Engine()
{
}Engine::Engine(const string engineBrand, float engineVersion)
{this->engineBrand = engineBrand;this->engineVersion = engineVersion;
}Engine::~Engine()
{
}string Engine::getEngineBrand()
{return engineBrand;
}float Engine::getEngineVersion()
{return engineVersion;
}string Engine::discription()
{stringstream ret;ret << "品牌-" << engineBrand << " 版本-" << engineVersion;return ret.str();
}
Tire
.h
#pragma once
#include <string>using namespace std;class Tire
{
public:Tire();Tire(string tireBrand);~Tire();string getTireBrand();float getPressure();float getSzie();string discription();private:string tireBrand;float pressure = 2.5;float size = 1.0;};
.cpp
#include "Tire.h"
#include <sstream>Tire::Tire()
{
}Tire::Tire(string tireBrand)
{this->tireBrand = tireBrand;
}Tire::~Tire()
{
}string Tire::getTireBrand()
{return tireBrand;
}float Tire::getPressure()
{return pressure;
}float Tire::getSzie()
{return size;
}string Tire::discription()
{stringstream ret;ret << "品牌-" << tireBrand << " 气压-" << pressure << " 尺寸-" << size;return ret.str();
}
Car
.h
#pragma once
#include <string>
#include "Engine.h"
#include "Tire.h"using namespace std;class Car
{
public:Car();Car(string carBrand, float carVersion, int carPrice, int carMiles, string engineBrand, float engineVersion, string tireBrand);~Car();string getCarBrand();float getCarVersion();int getCarPrice();int getCarMiles();Engine getEngine();Tire* getTire(int i);string discription();private:string carBrand;float carVersion;int carPrice;int carMiles=0;Engine engine;Tire tire[4];
};
.cpp
#include "Car.h"
#include <sstream>using namespace std;Car::Car()
{
}Car::Car(string carBrand, float carVersion, int carPrice, int carMiles, string engineBrand, float engineVersion, string tireBrand) :engine(engineBrand, engineVersion), tire{ tireBrand,tireBrand,tireBrand,tireBrand }
{this->carBrand = carBrand;this->carVersion = carVersion;this->carPrice = carPrice;this->carMiles = carMiles;
}Car::~Car()
{
}string Car::getCarBrand()
{return carBrand;
}float Car::getCarVersion()
{return carVersion;
}int Car::getCarPrice()
{return carPrice;
}int Car::getCarMiles()
{return carMiles;
}Engine Car::getEngine()
{return engine;
}Tire* Car::getTire(int i)
{if (i >= 1 || i <= 4) {return &tire[4];}return NULL;
}string Car::discription()
{stringstream ret;ret << "品牌-" << carBrand << " 型号-" << carVersion << " 价格-" << carPrice << " 里程数-" << carMiles << "\t\t引擎-" << engine.discription() << "\t\t轮胎-" << tire->discription();return ret.str();
}
main
.h
#include "Car.h"
#include <iostream>using namespace std;int main(void) {{Car car("宝马", 7.0, 950000, 56000, "宝马", 3.5, "米其林");cout << car.discription() << endl;}system("pause");return 0;
}
相关文章:
【27续】c++项目练习
定义一个或多个类,来描述以下需求: 汽车,有多个轮胎,一个发动机,品牌,型号, 价格, 行驶里程。 轮胎,有品牌,尺寸,气压。 发动机,有品牌&#x…...
Lazarus Query转EXCEL功能
Lazarus Query转EXCEL功能 需要用到控件XMLXSDExporter1 procedure SaveToExcel(AQuery:TSQLQuery); var SaveDialog: TSaveDialog; Ext:String; begin SaveDialog : TSaveDialog.Create(nil); SaveDialog.Filter:Excel 97-2003文件(*.xls)|*.XLS; if SaveDialog.Exec…...
AnaTraf | 深入探讨DNS流量分析:保障网络稳定性的关键
目录 什么是DNS流量分析? DNS流量的组成 为什么进行DNS流量分析? DNS流量分析在IT运维中的应用 1. 故障排查 2. 性能监控与优化 3. 安全检测 AnaTraf 网络性能监控系统NPM | 全流量回溯分析 | 网络故障排除工具 在当今数字化时代,互联…...
P1017 [NOIP2000 提高组] 进制转换
题目是意思就是转化 负进制 题干给定内容确实看不懂 我是看了别人的题解才会的 注意点:进制中不能出现负数(解决方法 向前借一位 这是核心代码)抓住 被除数除数*商余数 if(tp<0){//模是负数 就要转化为正数tp-y;xy;}//自己在纸上模拟一…...
计算机网络—vlan(虚拟局域网)
内容补充 冲突域 如果两台设备同时发送数据,他们的数据会互相干扰,那么他们就处于同一冲突域,例如集线器(总线型,所有设备共享带宽)的所有端口都处于冲突域。 广播域 如果一台设备发送数据,…...
C++头文件大全及解释
在C编程中,头文件起到了非常重要的作用。它们包含了函数声明、类定义和其他预处理指令,为程序提供了所需的各种功能和库。本文将介绍一些常见的C头文件,并提供具体实例来说明它们的用途和解释。 1. <iostream> 这是C标准库中最常用的头…...
基于 Django 的电商比价系统
想在毕业设计中展示自己的开发能力吗?今天给大家推荐一个绝对能让你脱颖而出的项目——基于 Django 框架的电商比价系统!主打实用创新,你一定能用它拿下好成绩~🤩 ✨项目核心功能亮点: 完善的用户系统&…...
Excel重新踩坑2:Excel数据类型;自定义格式(设置显示格式);分列操作;其他常用操作;一些重要操作
0、Excel数据类型:文本、数字、逻辑值、错误值 文本数据类型:输入什么显示什么;常见错误值 VALUE:文本与数字运算; DIV/0:分母为0; NAME:公式名称错误; N/A:…...
python从0快速上手(十四)数据库操作
Python学习:数据库操作篇 在这个信息爆炸的时代,数据库就像是一个个巨大的宝藏库,里面藏着无数珍贵的数据宝石。而Python,就是那把能够打开这些宝藏库的神奇钥匙。在这一章中,我们将一起学习如何使用Python来操作数据…...
【热门主题】000004 案例 Vue.js组件开发
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【热…...
Ingress-nginx中HTTPS的强制转发
文章目录 在使用aws 的NLB转发流量到ingress时,发现NLP上生成的转发配置不符合正常预期,如下图: ingress-nginx service 配置如下: apiVersion: v1 kind: Service metadata:annotations:service.beta.kubernetes.io/aws-load-b…...
C++深入探寻二叉搜索树:数据管理的智慧之选
✨✨小新课堂开课了,欢迎欢迎~✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C:由浅入深篇 小新的主页:编程版小新-CSDN博客 前言: 我们在前面已经学习过有关…...
Python 文件 I/O 入门指南
Python 文件 I/O 入门指南 文章目录 Python 文件 I/O 入门指南一、文件的打开与关闭二、文件的读取三、文件的写入四、文件的定位五、文件的属性六、处理不同类型的文件七、错误处理八、总结 在 Python 编程中,文件输入输出(I/O)是一项非常重…...
Atlas800昇腾服务器(型号:3000)—YOLO全系列NPU推理【检测】(五)
服务器配置如下: CPU/NPU:鲲鹏 CPU(ARM64)A300I pro推理卡 系统:Kylin V10 SP1【下载链接】【安装链接】 驱动与固件版本版本: Ascend-hdk-310p-npu-driver_23.0.1_linux-aarch64.run【下载链接】 Ascend-…...
1.2.3 TCP IP模型
TCP/IP模型(接网叔用) 网络接口层 网络层 传输层 应用层 理念:如果某些应用需要“数据格式转换”“会话管理功能”,就交给应用层的特定协议去实现 tip:数据 局部正确不等于全局正确 但是,数据的 全局正…...
选择、冒泡和插入排序及其优化版本课件
视频链接:是趣味编程的个人空间-是趣味编程个人主页-哔哩哔哩视频...
Matlab自学笔记三十九:日期时间型数据的算术运算:加减运算
1.说明 时间点和(日历)持续时间是可加的,结果是时间点;两个时间点是可减的,结果是持续时间,用时分秒表示;时间型和浮点数运算,结果是时间型,浮点数默认单位是天…...
Java-多线程2
什么是线程? 线程是 cpu调度和执行的单位。 多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈。 如何实现线程 继承Thread类 实现步骤: 创建自定义类,继承Thread类 重写run方法 创建自定…...
POWER_CONMETRICS的packet wakeup events触发条件的代码走读
摘要: adb shell dumpsys connmetrics 的packet wakeup events触发条件:首先App是无法控制packet wakeup events的事件日志打印,主要App联网过程中网络状态或配置发生变化时由系统netd自动触发的统计。 通俗理解:目前主要表示触…...
Bug:通过反射修改@Autowired注入Bean的字段,明确存在,报错 NoSuchFieldException
【BUG】通过Autowired注入了一个Bean SeqNo,测试的时候需要修改其中的字段。通过传统的反射,无论如何都拿不到信息,关键是一方面可以通过IDEA跳转,一方面debug也确实能看到这个字段。但是每次调用set方法报错:NoSuchFi…...
在Win11的WSL2里跑Genesis物理引擎,我踩过的那些坑和填坑指南
在Win11的WSL2里跑Genesis物理引擎:从环境配置到图形渲染的完整避坑指南 当我在Windows 11的WSL2环境中首次尝试运行Genesis物理引擎时,原本以为只需简单安装就能顺利运行,没想到却遭遇了一系列令人头疼的问题。从OpenGL上下文创建失败到CUD…...
mPLUG-Owl3-2B多模态交互:本地运行、保护隐私的AI识图方案
mPLUG-Owl3-2B多模态交互:本地运行、保护隐私的AI识图方案 1. 引言:为什么选择本地多模态AI 想象一下,当你看到一张有趣的图片,想了解其中的内容时,不再需要将图片上传到云端服务器,而是直接在本地电脑上…...
软件测试新范式:Phi-4-mini-reasoning智能生成测试用例与缺陷报告
软件测试新范式:Phi-4-mini-reasoning智能生成测试用例与缺陷报告 1. 传统测试流程的痛点与变革契机 在软件测试领域,工程师们长期面临着一个核心矛盾:随着敏捷开发和持续交付的普及,测试周期被不断压缩,但测试覆盖率…...
不只是代码:用 Agent 构建全自动数据分析与可视化流水线
不只是代码:用 Agent 构建全自动数据分析与可视化流水线 1. 引入与连接:从"手动分析"到"智能自动化"的范式转变 1.1 一个数据分析师的典型一天 让我们想象一下,李明是一家互联网公司的资深数据分析师。每天早上9点,他都会坐在电脑前开始他熟悉的工作…...
3步搞定Windows卡顿:Win11Debloat系统优化工具使用全攻略
3步搞定Windows卡顿:Win11Debloat系统优化工具使用全攻略 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and…...
【Matlab Simulink】从Excel到2-D Lookup Table:数据导入与模型搭建实战
1. 为什么需要将Excel数据导入2-D Lookup Table 在工程建模和仿真过程中,我们经常会遇到需要处理二维表格数据的情况。比如在汽车发动机建模时,发动机的扭矩特性通常以转速和油门开度为输入,输出扭矩值的二维表格形式存在。这类数据通常保存在…...
专业级硬件控制方案深度解析:如何用GHelper实现华硕笔记本高效优化
专业级硬件控制方案深度解析:如何用GHelper实现华硕笔记本高效优化 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TU…...
新手避坑指南:当npm报错128时,如何用快马AI轻松完成第一个项目
最近在帮朋友入门Node.js开发时,发现很多新手卡在环境配置这一步就放弃了。特别是遇到npm error code 128这种报错时,往往连错误说明都看不懂。今天分享一个用InsCode(快马)平台快速搭建第一个Node.js项目的避坑指南,特别适合零基础开发者。 …...
告别金融数据获取难题:mootdx打造一站式通达信数据解决方案
告别金融数据获取难题:mootdx打造一站式通达信数据解决方案 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在金融数据分析和量化交易领域,获取高质量、实时的市场数据一直…...
过河卒算法备案:我们不便宜,但我们值这个价!
在算法备案行业竞争愈演愈烈的当下,价格战愈加白热化,材料造假、模板套用、盲目承诺等行为屡见不鲜。这种“表面合规”看似便宜,实则暗藏风险。一旦遇到监管抽查,轻则整改重新备案,重则受罚,企业蒙受巨大损…...
