ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 9) онлайн
Конструкторы без аргументов
В классе Туре конструктор без аргументов выглядит следующим образом: Туре ( )
{ strcpy( dimensions, "N/A" ): strcpy( grade, "N/A" ) }
Этот конструктор присваивает значениям полей dimensions и grade строку "N/A" (недоступно), поэтому при попытке вывести данные для объекта класса Lumber пользователь будет знать, что поля пусты.
Нам уже знаком конструктор без аргументов в классе Distance:
Distance ( ) : feet ( 0 ), inches ( 0.0 ) { }
Конструктор без аргументов класса Lumber вызывает конструкторы обоих классов — Туре и Distance.
Lumber : Type ( ), distance ( ), quantity ( 0 ), price ( 0.0 ) { }
Имена конструкторов базового класса указаны после двоеточия и разделены запятыми. При вызове конструктора класса Lumber начинают работу конструк- торы базовых классов Туре() и Distance(). При этом инициализируются перемен- ные quantity и price.
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42