【面向对象程序设计】类定义和封装——编写一个程序来存储比萨饼的信息并计算出总价格

文章描述了一个C++编程任务,要求创建一个Pizza类来存储比萨饼的尺寸、配料数量等信息,并通过构造函数初始化。比萨饼的价格根据尺寸和配料数量计算。此外,还应创建一个PizzaOrder类来管理多个比萨饼订单。测试代码展示了如何输入比萨信息并计算价格。
摘要由CSDN通过智能技术生成

这里写目录标题

实验内容

创建一个名为Pizza的类,用它来存储单个比萨饼的信息。这个类应包含以下内容:

  1. 几个私有变量,分别用来存储比萨的尺寸(小,中,大)、奶酪配料数量、意大利腊香肠配料数量和火腿配料数量。
  2. 一个(或多个)构造函数,用于设置所有变量的数值。
  3. 几个公有函数,用于获取和设置变量的数值。
  4. 比萨饼价格由以下内容决定:
    小:10美元+每份配料2美元
    中:12美元+每份配料2美元
    大:14美元+每份配料2美元
  5. 编写测试代码来生成几个比萨饼信息并输出对这些披萨的价格。

另外,可以创建一个PizzaOrder类,这个类允许一个订单里最多存储三个披萨饼的信息。每个存储进来的披萨饼信息都应该是一个披萨饼对象,编写一个main函数来测试这个类。

代码

//创建一个名为pizza的类,用它来存储单个比萨饼的信息。
#include<iostream>
using namespace std;
class pizza    //定义一个pizza的类
{
public:
	void input();     //用于获取和设置变量的数值。
	void calccost();   //此成员函数用于返回比萨饼价格

private:    //几个私有数据成员
	int size;  //比萨的尺寸(小,中,大)
	int a;      //奶酪配料数量
	int b;    //意大利腊香肠配料数量
	int c;     //火腿配料数量
};
void pizza::input()
{
	cout << "---------------------------------------------" << endl;
	cout << "请选择比萨饼尺寸(1:小,2:中,3:大):";
	cin >> size;
	cout << "奶酪 (2美元/份) :";
	cin >> a;
	cout << "意大利腊香肠 (2美元/份) :";
	cin >> b;
	cout << "火腿 (2美元/份) :";
	cin >> c;
}
void pizza::calccost()  //计算比萨饼的价格
{
	double cost;
	switch (size)
	{
	case 1:   cost = 10 + a * 2 + b * 2 + c * 2; break;
	case 2:   cost = 12 + a * 2 + b * 2 + c * 2; break;
	case 3:   cost = 14 + a * 2 + b * 2 + c * 2;
	}
	cout << "该比萨饼价格为:" << cost << endl;
}
int main()
{
	pizza t;
	t.input();
	t.calccost();
}
class pizzaorder
{
public:
	int getnumpizzas();  //返回订单中的披萨的个数。
	void pizza* getpizza1()  //返回订单中的第一个披萨
};

int main()
{
	pizza t;
	t.input();
	t.calccost();
	pizzaorder order1   // 这一行代码创建一个订单
		order1.setnumpizzas(2); // 订单中有两个披萨
	order1.setpizza1(pizza1); // 设置第一个披萨
	order1.setpizza2(pizza2); // 设置第二个披萨
}





#include<iostream>
using namespace std;
class pizza
{
	int cheese, salami, ham, size;
public:
	pizza(int, int, int, int);
	~pizza();
	void set_pizza(int x, int y, int z, int n);
	int get_peiliao();
};
pizza::pizza(int m, int d, int e, int f)
{
	cheese = m;
	salami = d;
	ham = e;
	size = f;
}
pizza::~pizza()
{
	cout << "\n";
}
void pizza::set_pizza(int x, int y, int z, int n)
{
	cheese = x;
	salami = y;
	ham = z;
	size = n;
}
int pizza::get_peiliao()
{
	return 2 * (cheese + salami + ham) + size;
}
int main()
{

	pizza p1(1, 2, 3, 4);
	pizza p2(2, 4, 6, 8);
	pizza p3(3, 5, 7, 8);
	cout << "请输入第一个披萨的参数:\n";
	int a, b, c, d;
	cin >> a >> b >> c >> d;
	p1.set_pizza(a, b, c, d);
	p1.get_peiliao();
	cout << "请输入第二个披萨的参数:\n";
	cin >> a >> b >> c >> d;
	p2.set_pizza(a, b, c, d);
	p2.get_peiliao();
	cout << "请输入第三个披萨的参数:\n";
	cin >> a >> b >> c >> d;
	p3.set_pizza(a, b, c, d);
	p3.get_peiliao();
	cout << p1.get_peiliao() + p2.get_peiliao() + p3.get_peiliao();

}

运行结果

在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

会举重的薯片

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

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

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

打赏作者

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

抵扣说明:

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

余额充值