25 Конструкторы с++: конструктор по умолчанию, конструктор копирования, перегрузка конструкторов.

Параметры конструктора могут быть любого типа за исключением класса, элементом которого является данный конструктор.

Конструктор может принимать в качестве параметра ссылку на свой собственный класс, в этом случае он называется конструктором копирования.

Конструктор, не принимающий параметров вообще, называется конструктором по умолчанию

Конструктор по умолчанию:

Конструктор может иметь аргументы по умолчанию

X (int=0)

X (int j=1; float k=21);

При вызове конструктора следует избегать неоднозначностей.

X mx(1,2); правильно

X mx(1); неправильно

X mx;неправильно

Конструктор копирования:

Для класса Х это такой конструктор, который может быть вызван с единственным аргументом - ссылкой на Х.

X:: X(const &X)

class X

{

X(&X)

}

В конструкторе копирования допустимым является также аргументы по умолчанию

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

Перегрузка конструкторов:

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

Class X

{

int integer_part;

double double_part;

public:

X(int i){integer_part =i;}

X(double d){double_part=d;}

}

X one (10);

X one (3.14);

Hosted by uCoz