计算器类功能

时间:2012-10-01 22:16:02

标签: c++ class getter-setter

这是一个非常简单的C++问题,但我无法理解。 我正在做一个工作和问题,创建一个简单的计算器类,执行不同的操作。我通过方法轻松完成了这项工作,但它更多地说了

  

“计算器对象执行的每个操作都必须存储在   对象的内存,可以由用户进一步获取或设置。“

作为暗示,本书提供了两种方法

voidSetMem(double d);
double GetMem();

我无法理解这条线的含义。

2 个答案:

答案 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);

希望这可以回答你的问题。祝你好运