AirlineTicket
2024-05-13 00:13:50
下面的代码定义了一个基本的机票类。这个类可以根据飞行的里程数以及顾客是否是“精英超级奖励计划”的成员计算票价。
AirlineTicket.h
// AirlineTicket.h#include <string>class AirlineTicket
{public:AirlineTicket();~AirlineTicket();int calculatePriceInDollars() const;std::string getPassengerName() const;void setPassengerName(std::string inName);int getNumberOfMiles() const;void setNumberOfMiles(int inMiles);bool getHasEliteSuperRewardsStatus() const;void setHasEliteSuperRewardsStatus(bool inStatus);protected:std::string mPassengerName;int mNumberOfMiles;bool bHasEliteSuperRewardsStatus;
};
AirlineTicket.cpp
// AirlineTicket.cpp#include <iostream>
#include "AirlineTicket.h"using namespace std;AirlineTicket::AirlineTicket()
{// initialize data membersbHasEliteSuperRewardsStatus = false; mPassengerName = "Unknown Passenger";mNumberOfMiles = 0;
}AirlineTicket::~AirlineTicket()
{// nothing much to do in terms of cleanup
}int AirlineTicket::calculatePriceInDollars() const
{if (getHasEliteSuperRewardsStatus()) {// Elite Super Rewards customers fly for free!return 0;}// The cost of the ticket is the number of miles times// 0.1. Real airlines probably have a more complicated formula!return static_cast<int>((getNumberOfMiles() * 0.1));
}string AirlineTicket::getPassengerName() const
{return mPassengerName;
}void AirlineTicket::setPassengerName(string inName)
{mPassengerName = inName;
}int AirlineTicket::getNumberOfMiles() const
{return mNumberOfMiles;
}void AirlineTicket::setNumberOfMiles(int inMiles)
{mNumberOfMiles = inMiles;
}bool AirlineTicket::getHasEliteSuperRewardsStatus() const
{return bHasEliteSuperRewardsStatus;
}void AirlineTicket::setHasEliteSuperRewardsStatus(bool inStatus)
{bHasEliteSuperRewardsStatus = inStatus;
}
AirlineTicketTest.cpp
// AirlineTicketTest.cpp#include <iostream>
#include <memory>
#include "AirlineTicket.h"using namespace std;int main()
{AirlineTicket myTicket; // stack-based AirlineTicketmyTicket.setPassengerName("Gavin Y. Liu");myTicket.setNumberOfMiles(700);int cost = myTicket.calculatePriceInDollars();cout << "This ticket will cost $" << cost << endl;// heap-based AirlineTicket with smart pointershared_ptr<AirlineTicket> myTicket2(new AirlineTicket());myTicket2->setPassengerName("Laud M. Hallidue");myTicket2->setNumberOfMiles(2000);myTicket2->setHasEliteSuperRewardsStatus(true);int cost2 = myTicket2->calculatePriceInDollars();cout << "This other ticket will cost $" << cost2 << endl;// No need to delete myTicket2, happens automatically// heap-based AirlineTicket without smart pointerAirlineTicket* myTicket3 = new AirlineTicket();// ... Use ticket 3delete myTicket3; // delete the heap objectreturn 0;
}
AirlineTicket相关推荐
- Makefile编写和使用技巧
Makefile 可以用文本编辑器编写makefile文件,与源文件保存在同一目录下,名称取为"Makefile"或"makefile". 在确定安装好Ming ...
- 【风靡全球年近40年的C++过时了吗?C++20来告诉大家】
作为带有类的C的继承者,丹麦计算机科学家Bjarne Stroustrup于1982年发明了C++.1985年,发布了第一版的"C++程序设计语言".第一个标准化版本的C++在19 ...
- 3ml乐谱制作工具_每个数据科学家应在其下一个ml项目中使用两种工具
3ml乐谱制作工具 by Braden Riggs and George Williams (gwilliams@gsitechnology.com) Braden Riggs和George Will ...
最新文章
- Spring Boot 的 10 个核心模块
- 获取某个view的高度或者宽度
- BIOS和Bootloader的区别
- 二叉树的锯齿形层次遍历—leetcode103
- 使用三种方式创建Class字节码类文件对象
- 计算机网络硬件部件,计算机网络硬件由哪些部件组成?
- openssl以及openssh升级
- candence 知识积累3
- Mac效率神器Alfred系列教程---剪切板历史记录
- pmp全真模拟题100道(含答案)
- android imagebutton 动画,android – ImageButton Icon Tint基于State
- solidity教程(二)僵尸攻击人类
- 实对称矩阵的相似对角化
- 计算机房档案管理,机房档案管理制度
- OpenStack安装部署报错记录,Error processing default value xxx for Opt type of HostAddress
- 标题:缩位求和 在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确。 比如:248 * 15 = 3720 把乘数和被乘数分别逐位求和,如果是多位数再逐位求和,直到是1位数,得 2
- matlab中gain怎么设置,pid调节中的gain是什么意思?
- MySQL 生成随机数字、字符串、日期、验证码以及 UUID
- Python 批量查询URL百度权重
- 引用、指针和句柄的区别
热门文章
- Creating a 3D Logo in Photoshop Photoshop系列教程之如何创建一个3D Logo Lynda课程中文字幕
- 上班族,宅族,程序员如何虚度人生?
- nginx 配置go服务反向代理
- 游戏行业术语一览(1)--游戏分类
- TX Text Control 30.0 [Core]Crack
- 八维计算机学校加盟,八维计算机学校
- 搜狐快站,一款可视化建站工具。
- css实现米字格、田字格、回字格、九宫格,书法专用纸
- django外调用url_Django urls 配置 ,模版url调用
- php pear support_PHP pear安装配置教程