Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Аргументы по умолчанию для программирования на C++ (параметры)

Аргументы по умолчанию для программирования на C++ (параметры)

В этом руководстве мы изучим аргументы C++ по умолчанию и их работу с помощью примеров.

В программировании на C++ мы можем указывать значения по умолчанию для параметров функций.

Если функция с аргументами по умолчанию вызывается без передачи аргументов, то используются параметры по умолчанию.

Однако, если аргументы передаются при вызове функции, аргументы по умолчанию игнорируются.

<час>

Работа аргументов по умолчанию

<рисунок>

Мы можем понять работу аргументов по умолчанию из изображения выше:

  1. Когда temp() вызывается, функция использует оба параметра по умолчанию.
  2. Когда temp(6) вызывается, первый аргумент становится 6 а для второго параметра используется значение по умолчанию.
  3. Когда temp(6, -2.3) вызывается, оба параметра по умолчанию переопределяются, что приводит к i = 6 и f = -2.3 .
  4. Когда temp(3.4) передается, функция ведет себя нежелательным образом, поскольку второй аргумент не может быть передан без передачи первого аргумента.

    Следовательно, 3.4 передается в качестве первого аргумента. Поскольку первый аргумент был определен как int , фактически передается значение 3 .
<час>

Пример:Аргумент по умолчанию

#include <iostream>
using namespace std;

// defining the default arguments
void display(char = '*', int = 3);

int main() {
    int count = 5;

    cout << "No argument passed: ";
    // *, 3 will be parameters
    display(); 
    
    cout << "First argument passed: ";
     // #, 3 will be parameters
    display('#'); 
    
    cout << "Both arguments passed: ";
    // $, 5 will be parameters
    display('$', count); 

    return 0;
}

void display(char c, int count) {
    for(int i = 1; i <= count; ++i)
    {
        cout << c;
    }
    cout << endl;
}

Вывод

No argument passed: ***
First argument passed: ###
Both arguments passed: $$$$$

Вот как работает эта программа:

  1. display() вызывается без передачи аргументов. В этом случае display() использует оба параметра по умолчанию c = '*' и n = 1 .
  2. display('#') вызывается только с одним аргументом. В этом случае первым становится '#' . Второй параметр по умолчанию n = 1 сохраняется.
  3. display('#', count) вызывается с обоими аргументами. В этом случае аргументы по умолчанию не используются.

Мы также можем определить параметры по умолчанию в самом определении функции. Приведенная ниже программа эквивалентна приведенной выше.

#include <iostream>
using namespace std;

// defining the default arguments
void display(char c = '*', int count = 3) {
    for(int i = 1; i <= count; ++i) {
        cout << c;
    }
    cout << endl;
}

int main() {
    int count = 5;

    cout << "No argument passed: ";
    // *, 3 will be parameters
    display(); 
    
    cout << "First argument passed: ";
     // #, 3 will be parameters
    display('#'); 
    
    cout << "Both argument passed: ";
    // $, 5 will be parameters
    display('$', count); 

    return 0;
}
<час>

Что нужно помнить

  1. После того как мы указываем значение по умолчанию для параметра, все последующие параметры также должны иметь значения по умолчанию. Например,
    // Invalid
    void add(int a, int b = 3, int c, int d);
    
    // Invalid
    void add(int a, int b = 3, int c, int d = 4);
    
    // Valid
    void add(int a, int c, int b = 3, int d = 4);
  2. Если мы определяем аргументы по умолчанию в определении функции, а не в прототипе функции, то функция должна быть определена до вызова функции.
    // Invalid code
    
    int main() {
        // function call
        display();
    }
    
    void display(char c = '*', int count = 5) {
        // code
    }

Язык C

  1. Пространства имен в программировании на C#
  2. Операторы С++
  3. С++ Комментарии
  4. Передача массива в функцию в программировании на C++
  5. Шаблоны классов С++
  6. Операторы программирования на C
  7. Типы пользовательских функций в программировании на C
  8. C Учебник
  9. С - Функции
  10. C - Переменные аргументы