Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida quanto a um exemplo


AMazz

Pergunta

Olá pessoal, estou aprendendo C++ e, como era de se esperar, não consegui entender um exemplo proposto no livro que estou utilizando. Segue o código:

class CBox                // Class definition at global scope
{
public:
    // Constructor definition
    explicit CBox(double lv = 1.0, double wv = 1.0, double hv = 1.0):
    m_Length(lv), m_Width(wv), m_Height(hv)
    {
        cout << endl << "Constructor called.";
    }

    // Function to calculate the volume of a box

    double Volume() const
    {
        return m_Length*m_Width*m_Height;
    }

    bool operator>(const CBox& aBox) const;        // Overloaded 'greater than'

    // Destructor definition

    ~CBox()
    {
        cout << "Destructor called." << endl;
    }

private:
    double m_Length;
    double m_Width;
    double m_Height;
};

// Operator function for 'greater than' that compares volumes of CBox objects;

bool CBox::operator>(const CBox& aBox) const
{
    return this->Volume() > aBox.Volume();
}

int main ()

Claro que o código está cortado por questões de conveniência. Porém minha dúvida é: o que é esse aBox?

Eu não entendi, pois ele aparece ali em cima no código e depois não mais no decorrer do programa.

Sei que é uma dúvida tola, mas realmente não consigo sair dessa.

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Esse código:

bool CBox::operator>(const CBox& aBox) const
{
    return this->Volume() > aBox.Volume();
}
Está sobrescrevendo o operador >, ou seja, quando você comparar uma caixa com a outra pelo operador >, essa função será chamada. Exemplo:
CBox a; // volume = 2
CBox b; // volume = 3

bool resultado = a > b; /* falso */

Esse trecho ( a > b ), está chamando a função CBox::operator> da variável "a". Nesse caso, "aBox" seria a variável b. Se você estivesse comparando com uma outra caixa, "c", essa variável "c" seria o "aBox" na função operator>.

Está meio confuso, se você ainda não conseguiu entender, me avise!

Abraços!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...