Конструктор по умолчанию
Если не объявлен ни один конструктор, то при компиляции будет создан конструктор по умолчанию.
class A {
// Конструктор по умолчанию будет создан при компиляции
}
class B {
// Явное объявление конструктора по умолчанию
B(){
print("Вызван конструктор по умолчанию");
}
}
void [[[main|main.html]]](){
A a;
B b;
}
Конструктор по умолчанию полезен для присвоения значений полям в зависимости от условий:
int i = 23; // [[[Глобальная переменная|var.html#global]]], значение которой всячески меняется по ходу игры
class A {
string a;
A(){
a = i % 2 == 0 ? "чётное" : "нечётное";
}
}
void [[[main|main.html]]](){
A a;
print(a.a); // нечётное
}
delete
Если вам не нужен конструктор по умолчанию, его можно явно удалить используя ключевое слово delete
и перегрузку конструктора.
class A {
string s;
A() delete; // Удаляем конструктор по умолчанию
A(string s){
[[[this|this.html]]].s = s;
}
}
void [[[main|main.html]]](){
A a("a");
print(a.s); // a
}
Last modified: 16 October 2024