gpt4 book ai didi

c++ - 分析C++代码片段(涉及类和函数)

转载 作者:行者123 更新时间:2023-11-28 04:26:28 25 4
gpt4 key购买 nike

我是一名刚参加初级 C++ 类(class)的大学生。我以前从未学过 C++,大约两年前只学过一门 C 类(class)。下面我贴了一道今晚要分析的作业题。我不想让你们回答这个问题,只是想给我一些从哪里开始的指示。我遇到的问题是我不知道将问题中声明的变量传递到哪里。例如,我必须在函数中评估的第一个问题是 large.getDiameter(),但我完全不知道从哪里开始。

class Pizza {
private:
double diameter;
int slices;
double area() { return (diameter/2)*(diameter/2)*3.14; }

public:
bool sauce;
bool cheese;
bool pepperoni;

public:
Pizza(double dia,
int nslice=8,
bool has_sauce=true,
bool has_cheese=true,
bool has_pepp=true)
{
diameter = dia;
slices = nslice;
sauce = has_sauce;
cheese = has_cheese;
pepperoni = has_pepp;
}
int getSlices() { return slices; }
double getDiameter() { return diameter; }
double areaPerSlice() {
return area() / slices;
}
};

考虑在函数中声明的这些变量:

Pizza large(16, 10);
Pizza personal(6, 4,true,true,false);
Pizza medium(12);
Pizza small(10.0,6);

我必须通过的一些示例是:

1.)large.getDiameter()
2.)small.getDiameter()
3.)large.areaPerSlice() > small.areaPerSlice()
4.)personal.pepperoni
5.)medium.getSlices()

最佳答案

您的 Pizza 类有一个带有一些有用参数的构造函数(一些带有默认参数,因此您不必传递这些参数)。

当您创建 Pizza 时,即通过说 Pizza large(16, 10) 您已经自动传递了直径和切片。

因此,通过使用诸如 pizza.getDiameter() 之类的访问器方法,您会注意到代码已经存在以返回您在构造函数中传入(并分配给直径)的内容。访问器方法将返回所需的数字。您可以轻松地将它分配给另一个变量,或者像比较示例中那样直接使用它。

关于c++ - 分析C++代码片段(涉及类和函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54208307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com