Как сделать значения по умолчанию в классе C++?

В C++ значения по умолчанию в классе можно задать двумя способами: в объявлении класса (в заголовочном файле) и в определении функций-членов класса (в исходном файле).

В объявлении класса, значения по умолчанию устанавливаются в заголовочном файле при объявлении переменной-члена класса. Например:

class MyClass {
    int myInt = 10; // значение по умолчанию в объявлении переменной-члена класса
    double myDouble;
public:
    MyClass(); // объявление конструктора класса
};

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

Если значение по умолчанию не задано в объявлении класса, его можно установить в определении функций-членов класса. Например, в исходном файле (.cpp) можно определить конструктор класса и установить его значения по умолчанию:

MyClass::MyClass() : myDouble(3.14) { // установка значения по умолчанию в определении конструктора
    // ...
}

Здесь переменная myDouble имеет значение по умолчанию равное 3.14.

Значение по умолчанию можно также устанавливать для аргументов функций-членов класса. Например:

class MyClass {
    int myInt;
public:
    MyClass(int value = 10); // объявление конструктора класса с аргументом-значением по умолчанию
};

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

MyClass obj1;       // myInt инициализируется значением по умолчанию (10)
MyClass obj2(20);   // myInt инициализируется значением 20

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