Wpis z mikrobloga

Noc programowania ciąg dalszy. Pytanie amatora. C++.
Załóżmy, że mam metodę, która ma zwrócić wartość pola trójkąta. Mam metody zwracające jego wysokość i podstawę. No i jest coś takiego:

double Triangle::countAreaOfTriangle()
{
double fieldOfTriangle = (getBase() * getHeight()) / 2;
return fieldOfTriangle;
}

To jest poprawne? Czy powinnam użyć np. this->getBase() ? Bo to też mi wypluwa poprawny wynik ^^ i trochę się zamotałam z tym...
#naukaprogramowania #cpp
  • 7
Jeżeli nie używasz w funkcji zmiennej fieldOfTriangle to możesz ją wyrzucić i zrobić samo return (getBase() * getHeight()) / 2; Plus jeżeli zwracana wartość jest typu double to lepiej dzielić przez 2.0, a nie 2. W przypadku gdy wartości zwracane przez getBase i getHeight bedą zmiennymi całkowitymi to zostanie zastosowane dzielenie dla liczb całkowitych i wynik też będzie liczbą całkowitą. Czyli otrzymasz wynik całkowity (utrata części ułamkowej) a funkcja przy zwracaniu wartości