Конструктор по умолчанию
Определение:
Конструктор по умолчанию – это конструктор, который можно вызвать без аргументов. Конструктор может иметь параметры, но все они должны иметь значения по умолчанию.
Синтаксис:
имя класса();
имя класса(тип параметра1 =значение по умолчанию, тип параметра2 =значение по умолчанию, …);
Задача: Такая же, как у любого конструктора – инициализировать все поля.
Назначение: Без этого конструктора невозможно создать массив объектов.
Замечания:
- Если в классе не определен ни один конструктор, компилятор создает сам конструктор по умолчанию. В этом автоматически созданном конструкторе вызываются конструкторы по умолчанию для всех базовых классов и полей.
- Если у какого-то поля или базового класса нет конструктора по умолчанию, компилятор при попытке самостоятельно создать конструктор по умолчанию выдаст сообщение об ошибке.
Примеры:
class String {
int len;
char * str;
public:
String(const char *s=""); //
...
};
String::String(const char *s):len(strlen(s)),str(new char[len+1])
{
strcpy(str,s);
}
int main()
{
String a; //
String b[100]; //
String c(); //
}