我收到一个编程提示,我无法弄清楚

问题描述 投票:0回答:1

这个问题是C++的。 所以,这是提示: 为名为 GasTank 的类编写完整的类定义,并包含成员:

  • 名为 amount 的 double 类型数据成员
  • 不接受参数的构造函数:构造函数将数据成员 amount 初始化为 0。
  • 一个名为addGas的函数,接受double类型的参数。amount实例变量的值为incree d 由参数值决定。
  • 名为 useGas 的函数,它接受 double 类型的参数。 amount 数据成员的值减去参数的值。
  • 名为 getGasLevel 的函数,不接受任何参数。 getGasLevel 返回 amount 数据成员的值。

本质上,这只是我需要帮助的构造函数和参数。

class GasTank
{
    private:
    double amount;
};

我尝试做构造函数和析构函数部分,但我很难弄清楚如何做到这一点,并且遇到了很多这样的错误问题。

c++
1个回答
0
投票

让我成为周日早上的人工智能提示:

在标头中(例如 GasTank.h):

class GasTank
{
public:
            GasTank();

   void     addGas(double amount);
   void     useGas(double amount);

   double   getGasLevel() const;

private:
   double   m_amount;
};

源代码(例如 GasTank.cpp):

#include <cassert>

GasTank::GasTank()
   : m_amount(0.0)
{    
}

void GasTank::addGas(double amount)
{
   m_amount += amount;
}


void GasTank::useGas(double amount)
{
   assert(amount >= m_amount);   // or make runtime condition

   m_amount -= amount;
}

double GasTank::getGasLevel() const
{
   return m_amount;
}

函数都很小,因此它们也可以内联在标头中。但这不适合初学者。

© www.soinside.com 2019 - 2024. All rights reserved.