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

Конструкторы C++: использование аргументов по умолчанию для гибкого создания объектов

Конструктор — это специальная функция-член класса, которая автоматически вызывается при создании объекта. Они используются для инициализации объекта значениями или настройками по умолчанию.

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

Конструктор с аргументами по умолчанию

Конструктор с аргументами по умолчанию — это конструктор, позволяющий создавать объект с использованием опциональных параметров. Где предоставляются значения по умолчанию для параметров, поэтому, когда пользователь не передает никаких значений, используется значение по умолчанию.

Синтаксис

Вот синтаксис для конструктора с аргументами по умолчанию:

class ClassName {
public:
    ClassName(parameter_Type parameter_Name = default_Value, parameter_Type2 parameter_Name2 = default_Value2);
};

Пример конструктора с аргументами по умолчанию

Вот следующий пример для конструктора с аргументами по умолчанию:

#include <iostream>
using namespace std;
// Функция с аргументом по умолчанию
void printMessage(string message = "Hello, Tutorialspoint Learner") {
    cout << message << endl;
}
int main() {
    // Вызов функции без аргумента
    printMessage(); // Выводит сообщение по умолчанию: "Hello, World!"
    // Вызов функции с пользовательским аргументом
    printMessage("Hi, there!"); // Выводит пользовательское сообщение: "Hi, there!"
    return 0;
}

Вывод

Hello, Tutorialspoint Learner
Hi, there!

Пояснение

Конструктор с множественными аргументами по умолчанию

Конструктор с множественными аргументами по умолчанию дает пользователю возможность указывать значения по умолчанию для более чем одного параметра. Это обеспечивает большую гибкость и возможность передавать любую комбинацию аргументов.

Пример

Вот следующий пример для конструктора с множественными аргументами по умолчанию:

#include <iostream>
using namespace std;
class Box {
public:
    int length, width, height;
    // Конструктор с множественными аргументами по умолчанию
    Box(int l = 5, int w = 10, int h = 2) {
        // Значения по умолчанию для длины, ширины и высоты
        length = l;
        width = w;
        height = h;
    }
    void display() {
        cout << "Length: " << length << ", Width: " << width << ", Height: " << height << endl;
    }
};
int main() {
    // Создание объектов с разным числом аргументов
    Box box1;
    Box box2(15);
    Box box3(15, 20);
    Box box4(15, 20, 25);
    // Отображение значений объектов
    box1.display();
    box2.display();
    box3.display();
    box4.display();
    return 0;
}

Вывод

Length: 5, Width: 10, Height: 2
Length: 15, Width: 10, Height: 2
Length: 15, Width: 20, Height: 2
Length: 15, Width: 20, Height: 25

Пояснение

Ключевые особенности конструкторов с аргументами по умолчанию

Хотя это похоже на обычные функции, это обеспечивает большую гибкость и удобство при создании объектов.

В следующем мы обсудим все его ключевые особенности.

1. Значения по умолчанию для параметров и гибкость в создании объектов

Здесь конструктор может иметь значения по умолчанию для одного или нескольких параметров, которые используются, когда вызывающий не предоставляет аргумент, и позволяет множественные способы создания объекта.

2. Избегание множественных перегрузок конструктора

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

3. Порядок аргументов по умолчанию

В случае множественных параметров со значениями по умолчанию, вы не можете пропускать аргументы по умолчанию в середине, как только вы начинаете предоставлять значения по умолчанию справа.

Синтаксис

Box(int l = 1, int w); // Недопустимо: 'w' не имеет значения по умолчанию, но 'l' имеет.

4. Аргументы по умолчанию могут использоваться с константными членами

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

Синтаксис

class Box {
public:
    const int length, width;
    Box(int l = 5, int w = 10) : length(l), width(w) {}
};

Этот конструктор использует аргументы по умолчанию (length = 5 и width = 10) для инициализации константных членов.

Язык C

  1. Освоение операторов C++: полное руководство с практическими примерами
  2. Оператор switch-case в C++: синтаксис, применение и практические примеры
  3. C#: обзор современного объектно-ориентированного языка от Microsoft
  4. Препроцессор C++: как директивы формируют ваш код
  5. Мастерство манипуляции строками в C со стандартными библиотечными функциями
  6. Операторы в C#: полное руководство с примерами
  7. Массивы в C#: объявление, инициализация и операции
  8. Как установить компилятор GCC на Windows, macOS и Linux: пошаговое руководство
  9. Работа с числовыми типами в C++: практическое руководство
  10. Комментарии в C: пишем понятные и эффективные заметки