实验内容
创建一个名为Pizza的类,用它来存储单个比萨饼的信息。这个类应包含以下内容:
- 几个私有变量,分别用来存储比萨的尺寸(小,中,大)、奶酪配料数量、意大利腊香肠配料数量和火腿配料数量。
- 一个(或多个)构造函数,用于设置所有变量的数值。
- 几个公有函数,用于获取和设置变量的数值。
- 比萨饼价格由以下内容决定:
小:10美元+每份配料2美元
中:12美元+每份配料2美元
大:14美元+每份配料2美元 - 编写测试代码来生成几个比萨饼信息并输出对这些披萨的价格。
另外,可以创建一个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();
}
运行结果