这是一个非常简单的C++
问题,但我无法理解。
我正在做一个工作和问题,创建一个简单的计算器类,执行不同的操作。我通过方法轻松完成了这项工作,但它更多地说了
“计算器对象执行的每个操作都必须存储在 对象的内存,可以由用户进一步获取或设置。“
作为暗示,本书提供了两种方法
voidSetMem(double d);
double GetMem();
我无法理解这条线的含义。
答案 0 :(得分:2)
就指令而言,如果你正常进行计算并将结果存储在对象中,就有可能。
在calculator
课程中,创建一个存储上次执行计算的变量。这两个函数将能够将值存储在该变量中并获取上次执行的计算的值。
假设你有这种结构。
class Calculator
{
private :
double last_result ;
public:
void setMem(const double) ;
double getMem ()const ;
} ;
在这些函数中,您可以使传入值等于该对象中的值。
在你的主体中,你会这样做。
double _result = 3.4 * 6 ;
Calculator c_obj ;
c_obj.setMem(_result) ;
如果要输出结果或在程序中的其他位置使用结果,请使用getMem()
函数。
cout << "Last Result was :" << c_obj.getMem() << endl ;
答案 1 :(得分:1)
Undertanding Getter / Setter Methods
基本上'Getter'是一个返回存储在某个变量中的数据的函数,在你的教科书提示中
double getMem()
{
//Return your data
return memoryVariable;
}
你的'Setter'将是一个用来设置变量的函数
void setMem (double variableToPass)
{
memoryVariable = variableToPass
}
注意两件事: 1.)getter函数返回一个数据类型double(因为您要求程序为您提供已设置/存储的数据) 2.)setter函数返回NO数据类型(因为你告诉/设置一些变量)
以下是从正方形获取区域的基本示例:
double getArea()
{
return pow(side, 2);
}
现在,在您的程序中,您将获得如下数据:
cout << " The area of the circle is " << sq1.getArea() <<"\n";
以下是从正方形设置区域的基本示例:
void setSide(double newSide)
{
side = newSide;
}
在您的程序中,您可以像这样设置这些数据:
sq1.setSide(50);
希望这可以回答你的问题。祝你好运