下面的代码定义了一个基本的机票类。这个类可以根据飞行的里程数以及顾客是否是“精英超级奖励计划”的成员计算票价。

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相关推荐

  1. Makefile编写和使用技巧

    Makefile 可以用文本编辑器编写makefile文件,与源文件保存在同一目录下,名称取为"Makefile"或"makefile". 在确定安装好Ming ...

  2. 【风靡全球年近40年的C++过时了吗?C++20来告诉大家】

    作为带有类的C的继承者,丹麦计算机科学家Bjarne Stroustrup于1982年发明了C++.1985年,发布了第一版的"C++程序设计语言".第一个标准化版本的C++在19 ...

  3. 3ml乐谱制作工具_每个数据科学家应在其下一个ml项目中使用两种工具

    3ml乐谱制作工具 by Braden Riggs and George Williams (gwilliams@gsitechnology.com) Braden Riggs和George Will ...

最新文章

  1. Spring Boot 的 10 个核心模块
  2. 获取某个view的高度或者宽度
  3. BIOS和Bootloader的区别
  4. 二叉树的锯齿形层次遍历—leetcode103
  5. 使用三种方式创建Class字节码类文件对象
  6. 计算机网络硬件部件,计算机网络硬件由哪些部件组成?
  7. openssl以及openssh升级
  8. candence 知识积累3
  9. Mac效率神器Alfred系列教程---剪切板历史记录
  10. pmp全真模拟题100道(含答案)
  11. android imagebutton 动画,android – ImageButton Icon Tint基于State
  12. solidity教程(二)僵尸攻击人类
  13. 实对称矩阵的相似对角化
  14. 计算机房档案管理,机房档案管理制度
  15. OpenStack安装部署报错记录,Error processing default value xxx for Opt type of HostAddress
  16. 标题:缩位求和 在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确。 比如:248 * 15 = 3720 把乘数和被乘数分别逐位求和,如果是多位数再逐位求和,直到是1位数,得 2
  17. matlab中gain怎么设置,pid调节中的gain是什么意思?
  18. MySQL 生成随机数字、字符串、日期、验证码以及 UUID
  19. Python 批量查询URL百度权重
  20. 引用、指针和句柄的区别

热门文章

  1. Creating a 3D Logo in Photoshop Photoshop系列教程之如何创建一个3D Logo Lynda课程中文字幕
  2. 上班族,宅族,程序员如何虚度人生?
  3. nginx 配置go服务反向代理
  4. 游戏行业术语一览(1)--游戏分类
  5. TX Text Control 30.0 [Core]Crack
  6. 八维计算机学校加盟,八维计算机学校
  7. 搜狐快站,一款可视化建站工具。
  8. css实现米字格、田字格、回字格、九宫格,书法专用纸
  9. django外调用url_Django urls 配置 ,模版url调用
  10. php pear support_PHP pear安装配置教程