Napisanie funkcji z wartościami domyślnymi dla dwóch argumentów – sprawdzenie kodu

0

Witam dostałem takie oto zadanie od wykładowcy. Chciałbym się spytać czy taki oto kod jest poprawny i czy dobrze zrozumiałem treść zadania.

  1. Napisz funkcję, która otrzyma w argumencie trzy wartości całkowite, z czego dwa argumenty powinny mieć wartości domyślne. Funkcja powinna zwracać sumę wszystkich liczb w argumencie. Zademonstruj wszystkie możliwe warianty wywołania swojej funkcji z funkcji main().
#include<iostream>

using namespace std;

int funkcja (int a, int b, int c) {
    a=2;
    b=4;
    int wynik;
    wynik = a+b+c;
    return wynik;
}
int main() {

    int suma=0;
    int x,y,z;
    z=6;

    suma = funkcja(x,y,z);

    cout << suma << endl;
    cout << funkcja (x,y,z);

    return 0;
}
2

Nie wiem czy dobrze, nie wiem czy overthinkuje. Chętnie poproszę feedback czy to jest dobrze.

#include <iostream>
#define debug(x)  std::cerr << "(Line: " << __LINE__ << "):  " << #x << " == " << (x) << '\n' << '\n'

int sum(int a, int b, int c)
{
    return a + b + c;
}

int sum(int a, int b = 100, int c = 500);

int main()
{
    std::cout << "Passing one argument:\n";
    debug(sum(5));

    std::cout << "Passing two arguments:\n";
    debug(sum(5, 6));

    int sum(int a, int b = 500, int c = 100);
    std::cout << "Passing two arguments, with default arguments being put in a different order:\n";
    debug(sum(5, 6));


    std::cout << "Passing three arguments:\n";
    debug(sum(5, 6, 7));

    std::cin.get();
    return 0;
}
3

@Rafał Pawłowski: pierwsza część jest dobrze - funkcję przyjmującą 3 inty masz. To teraz poszukaj w góglach, cóż to są w C/C++ parametry domyślne funkcji, i jak się je definiuje. Podpowiedż - to takie parametry, których przy wywoływaniu funkcji nie trzeba koniecznie podawać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1