Конструктор
Конструктор - это специальный метод класса, который автоматически вызывается при создании объекта. Его основная задача - инициализировать поля класса начальными значениями. Имя конструктора всегда совпадает с именем класса, а тип возвращаемого значения не указывается. Конструктор может принимать параметры, которые передаются при создании объекта. Если конструктор не объявлен явно, компилятор создаёт конструктор по умолчанию без параметров.
Синтаксис
class ClassName
{
public:
ClassName(parameters)
{
// initialization code
}
};
Пример
Давайте создадим класс Point с
конструктором, который принимает два
параметра и инициализирует координаты:
#include <iostream>
using namespace std;
class Point
{
public:
int x;
int y;
Point(int x, int y)
{
this->x = x;
this->y = y;
}
};
int main()
{
Point p(3, 4);
cout << p.x << " " << p.y << endl;
return 0;
}
Результат выполнения кода:
3 4
Пример
Давайте создадим класс String с
конструктором по умолчанию, который
инициализирует строку значением "abcde":
#include <iostream>
#include <string>
using namespace std;
class String
{
public:
string value;
String()
{
value = "abcde";
}
};
int main()
{
String s;
cout << s.value << endl;
return 0;
}
Результат выполнения кода:
"abcde"
Пример
Давайте используем список инициализации в конструкторе для инициализации полей класса:
#include <iostream>
using namespace std;
class Point
{
public:
int x;
int y;
Point(int x, int y) : x(x), y(y)
{
}
};
int main()
{
Point p(1, 2);
cout << p.x << " " << p.y << endl;
return 0;
}
Результат выполнения кода:
1 2
Смотрите также
-
ключевое слово
class,
которое объявляет класс -
метод
destructor,
который вызывается при уничтожении объекта -
метод
copy-ctor,
который создаёт копию объекта -
метод
ctor-init,
который инициализирует поля через список инициализации