C++面试宝典第13题:计算餐厅账单

36 篇文章 2 订阅 ¥19.90 ¥99.00
本文通过一道面试题介绍如何使用C++进行面向对象设计,以计算餐厅账单为例,讲解菜单类和账单类的实现,包括菜品、数量、折扣和优惠券的处理,强调面向对象的封装、继承和多态等核心概念。
摘要由CSDN通过智能技术生成

题目

        假如你是一家餐厅的收银员,需要编写一个程序来计算顾客的账单。程序应该能够接受顾客点的菜品和数量,并根据菜品的单价计算出总价。另外,程序还应该能够处理折扣和优惠券,并输出最终的账单金额。

解析

        这道题主要考察应聘者使用面向对象的设计方法来解决实际问题的能力。我们该如何编程,来解决计算餐厅账单的任务呢?

        餐厅账单是基于菜单上的菜品以及顾客点餐的数量来计算的,因此,我们需要首先封装一个菜单类。这个菜单类与实际菜单上的一条条记录类似,有菜名和价格两个属性。菜单类的构造函数有两个参数,分别为菜单品种的枚举和菜单单价。同时,我们声明了两个私有成员变量,用于保存构造函数中传入的菜单品种和菜单单价。另外,我们还重载了<操作符,用于在后面的账单类中将菜单类对象作为map的主键。

        菜单类CRestaurantMenuItem的具体实现,可参考下面的示例代码。

// 菜单类
class CRestaurantMenuItem
{
public:
    // 菜单品种
    enum IMenuItemType
    {
        MenuItemType_Burger,
        MenuItemType_Pizza,
        MenuItemType_Salad,
        MenuItemType_Count
    };

    CRestaurantMenuItem(IMenuItem
  • 44
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

希望_睿智

您的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值