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

【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;
}


http://www.mrgr.cn/news/54830.html

相关文章:

  • 排序02 Multi-gate Mixture-of-Experts (MMoE)
  • 开启RefCell debug_refcell feature查看借用冲突位置
  • 软件工程(2)软件可靠性与保障措施
  • 【OD】【E卷】【真题】【100分】选修课(PythonJavaJavaScriptC++C)
  • [计算机网络] 常见端口号
  • 生成模型初认识
  • 软件游戏缺失d3dx9_42.dll如何修复,马上教你6种靠谱的方法
  • 【设计模式-迪米特法则】
  • 网页从输入网址到页面渲染完成都经历了哪些过程?
  • 区块链可投会议CCF B--SenSys 2025 截止11.07 附2023录用率
  • 水题四道。
  • RAG流程的实现与改进
  • Codeforces Round 979 (Div. 2) B. Minimise Oneness
  • spdlog学习记录
  • Redis高阶篇之Redis单线程与多线程
  • 【深度学习】(12)--模型部署 <连接客户端与服务端>
  • 【Java SE 】封装 的特性 和 static 详解
  • 【C++】13.string类的底层
  • 机器学习与神经网络:科技的星辰大海
  • 关于WPF项目降低.Net版本
  • java分页遍历
  • C# 条形码、二维码标签打印程序
  • git分支操作简记
  • 设计模式总结
  • vscode默认添加python项目的源目录路径到执行环境(解决ModuleNotFoundError: No module named问题)
  • debug:vscode使用ssh连接