|
(пустой список не допустим)
или:
< имя класса > (фактические параметры конструктора);
Примеры … void main ()
{ mag X1 (101, 102, 103) // создается объект X1 с
… //соответствующими значениями
goods tip5 (“Пальто”, 20000);
good tip6 = good (“Шуба”, 100000);// создается безымянный //объект, значения которого используются, напр., в инициализации вновь //созданного объекта tip6
}
в) Способ инициализации объекта с помощью списка инициализаторов
данных объекта. Этот список помещается при описании конструктора
между списком параметров и телом конструктора:
<имя класса> (список параметров): < список инициализаторов>
{ тело конструктора }
Пример:
Class A
{ int ii; float ee; char cc;
public: A(int i, float e, char c): ii (7),
ee(ii + i * e),
Cc(c)
{ }... };
A a(5, 1.2. ‘ f’); // создается объект с компонентами a.ii =7,
// a.ee = 13, a.cc=’f’
6) Параметром конструктора не может быть его собственный класс, но
может быть ссылка на него.
7) В классе может быть несколько конструкторов, но только один с
умалчиваемыми значениями параметров.
8) Нельзя получить адрес конструктора.
9) Создание экземпляра класса с помощью указателя:
book* pa = new book (“ Золотой теленок“, 56.9);
cout<< pa->name<<’\t’<<pa->price;
goods*pb=new goods(“Пальто”,450.7);
mag*p=new mag;
mag*p1=new mag(4, 8,16);
Если в определении класса нет конструктора, то компилятор автоматически предоставляет конструктор по умолчанию, который и создает неинициированный объект
<Имя класса> < имя объекта>;
Если есть хоть один конструктор с параметрами (но без значений по- умолчанию), для того чтобы иметь возможность создать неинициированный объект надо объявить в теле класса конструктор по умолчанию:
<Имя класса> () { };
тогда используя конструкцию
<Имя класса> < имя объекта>;
можно объявить неинициированный объект.
Дата добавления: 2015-07-20; просмотров: 41 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Конструкторы и деструкторы | | | Деструктор- это функция, которая автоматически выполняется, когда экземпляр класса уничтожается. |