// Uppgift: Exempel på överlagrade funktioner. // Nyckelord: cmath, Överlagra med eftertanke! #include #include using namespace std; float triangle_area(int a, int b, int c) { cout << "Tre sidor givna" << endl; return a*b*c/2.0; // Implement Heron's formula yourself... } float triangle_area(int a, int b, float c) { cout << "Två sidor och mellanliggande vinkel givet" << endl; return a*sin(c)*b/2.0; } float triangle_area(int a, float b, float c) { cout << "En sida och två närliggande vinklar givna" << endl; return a*b*c/2.0; // You solve it... } float triangle_area(int a, int b) { cout << "Bas och höjd givet" << endl; return a*b/2.0; } void print(double d) { cout << "To printer" << endl; } void print(float f) { cout << "To screen" << endl; } void print(int i) { cout << "PRoject INTeger" << endl; } int main() { triangle_area(3, 6); triangle_area(3, 6, 80.0f); triangle_area(3, 6.0f, 80.0f); // Svårt veta vad som anropas! Gör inte så! triangle_area(3.0f, 6.0, 80); // menas två vinklar och en sida? triangle_area(3, 6.0/*f*/, 80); // GÖR INTE SÅ HÄR! Dåligt (inget) samband mellan funktionerna. print(1.0); print(1.0f); print(1); return 0; }