Ключевое слово С++ применяемое в двух случаях:
1) Задает блок кода выполняемый в операторе switch при не совпадении ни с одной веткой (значением case)
#include <iostream> // cout
int main(){
int i = 5; // Определяем переменную
switch (i){ // Проверяем переменную на равенство с идентификатором в case
case 0:{ // Код в данной ветке выполнялся бы при i == 0
std::cout << "zero";
}
case 1:{ // Код в данной ветке выполнялся бы при i == 1
std::cout << "one";
}
default:{ // Код в данной ветке выполняется если i не равно 0 или 1
std::cout << "default";
}
} // end switch
} // end main
// Вывод программы:
//default
2) Задает в классе необходимость созданием компилятором конструктора по умолчанию (без параметров). Компилятор создает конструктор по умолчанию только если в классе не создается ни один конструктор (копирования, перемещения, с параметрами и т.д.), указание ключевого слова default заставляет его создавать конструктор по умолчанию в обязательном порядке.
#include <iostream> // cout
class Point_class{ // Класс точки с координатами х и у
public:
Point_class() = default; // Указываем что необходим конструктор по умолчанию
Point_class(int x_val, int y_val){ // Конструктор с параметрами
x = x_val; // Присваиваем параметры конструктора членам класса
y = y_val;
std::cout << x << ", " << y; // Выводим координаты точки
}
private:
int x = 0; // Член класса (переменная x)
int y = 0; // Член класса (переменная y)
};
int main(){
Point_class pt1(10, 20); //10, 20 Конструктор с параметрами
Point_class pt2(); // Конструктор без параметров, создан благодаря default в классе
}