1

这是一个非常简单的C++问题,但我无法理解。我正在做一项工作,但问题来了,它创建了一个执行不同操作的简单计算器类。我通过方法很容易做到了这一点,但它说明了更多

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

作为提示,本书给出了两种方法

voidSetMem(double d);
double GetMem();

我不明白这条线是什么意思。

4

2 回答 2

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 ;
于 2012-10-01T22:20:08.753 回答
1

了解 Getter / Setter 方法

基本上,“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);

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

于 2012-10-01T22:47:31.203 回答