Cтраница 3
Оператор вызова процедуры является последовательным, если локализован в теле процесса или теле другой подпрограммы. В иных случаях оператор вызова подпрограммы интерпретируется как параллельный оператор. Одна и та же подпрограмма может вызываться как параллельным, так и последовательным оператором. Как и другие последовательные операторы, оператор последовательного вызова выполняется после исполнения всех операторов, предшествующих ему в теле процесса или теле подпрограммы. Параллельный оператор вызова исполняется после изменения любого из сигналов, перечисленных в списке соответствий этого оператора. Иными словами, параллельный вызов процедуры эквивалентен процессу, тело которого совпадает с телом процедуры с точностью до обозначений, а список инициализаторов содержит входные фактические параметры оператора вызова. [31]
![]() |
Определение класса Point ( часть 1 из 5.| Определения функций-элементов класса Point ( часть 2 из 5. [32] |
Программа на рис. 9.7 демонстрирует последовательность, в которой вызываются конструкторы и деструкторы производного класса. Программа состоит из 5 частей. Части 1 и 2 показывают простой класс Point, содержащий конструктор, деструктор и защищенные данные-элементы х и у. Конструктор и деструктор печатают объект класса Point, для которого они активизированы. Части 3 и 4 показывают простой класс Circle, наследующий Point отрытым наследованием, содержащий конструктор, деструктор и закрытый элемент данных radius. Конструктор и деструктор печатают объект класса Circle, для которого они активизированы. Конструктор Circle активизирует также конструктор класса Point, используя список инициализаторов элементов, и передает значения а и b для задания начальных значений элементов-данных базового класса. [33]