AMazz Postado Agosto 7, 2012 Denunciar Share Postado Agosto 7, 2012 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durub Postado Agosto 7, 2012 Denunciar Share Postado Agosto 7, 2012 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
AMazz
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:
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
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.