Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/studb20/public_html/index.php on line 4
 Конструктор со многими аргументами - ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 9) онлайн - Studbook
Главная->Інформатика та програмування->Содержание->Конструктор со многими аргументами

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 9) онлайн

Конструктор со многими аргументами

Конструктор класса Туре с двумя аргументами выглядит следующим образом:

Туре ( string di, string gr ) : dimensions ( di ), grade ( gr ) { }

Этот конструктор копирует строковые аргументы в поля класса dimensions и grade.

Конструктор класса Distance тот же, что и в предыдущей программе:

Distance ( int ft, float in ) : feet ( ft ), inches ( in ) { }

В конструктор класса Lumber включены оба этих конструктора, которые получают значения для аргументов. Кроме того, класс Lumber имеет и свои ар- гументы: количество материала и его цена. Таким образом, конструктор име- ет шесть аргументов. Он вызывает два конструктора, которые имеют по два

аргумента, а затем инициализирует два собственных поля. Конструктор класса Lumber будет выглядеть следующим образом:

 

      Lumber( string di, string gr,   //параметры для Type

              int ft, float in,       //параметры для Distance

              int qu, float prc ) :   //наши собственные параметры

              Type(di, gr),           //вызов конструктора Type

              Distance(ft, in),       //вызов конструктора Distance

              quantity(qu), price(prc)//вызов наших конструкторов

      {  }

 

34