ВУЗ:
Составители:
Рубрика:
типов,начиная от места переопределения этой функции;такой ме-
ханизм называется статическим, или статическим методом до-
ступа,так как поиск вызываемых в программе функций в иерар-
хии типов производится статически, т.е. на стадии компиляции;
г)функции,определяемые в иерархии составных типов со сло-
вом virtual(виртуальный),имеют одно и то же имя и один и
тот же набор параметров,а вариация действия,специфицируемого
каждой функцией,зависит от места ее определения в иерархии;
этот механизм называется динамическим,или виртуальным мето-
дом доступа,так как поиск вызываемых в программе функций
в иерархии производных типов производится динамически,т.е.
на стадии выполнения программы.
Различные функции обычно имеют разные имена,но функциям,вы-
полняющим сходные действия и имеющим различные наборы пара-
метров,иногда лучше дать возможность иметь одинаковые имена.
Используя различия в наборах параметров,компилятор всегда
может их идентифицировать и выбирать для вызова нужную фун-
кцию.Можно,например,написать одну функцию возведения в сте-
пень для различных сочетаний типов основания и показателя
степени:
overload pow;/*-е-возводимое в степень число:р-показатель:*/
int pow(int e,int p);
double pow(double e,int p);
double pow(double e,double p);
x=pow(11,5);y=pow(12.6,7);y=pow(12.3,4.5);/*-вызовы pow; */
Описание overload pow сообщает компилятору,что использова-
ние имени pow более,чем для одной функции,является умышлен-
ным.
Такой полиморфизм функций улучшает выразительные возмож-
ности языка С++,но непосредственно не связан с объектно-ори-
ентированным программированием,где используется полиморфизм
методов доступа для объектов составного типа:структур,объеди-
нений и классов.
Хорошим примером полиморфных функций для составного объек-
та является набор конструкторов составного типа,когда зада-
32
типов,начиная от места переопределения этой функции;такой ме- ханизм называется статическим, или статическим методом до- ступа,так как поиск вызываемых в программе функций в иерар- хии типов производится статически, т.е. на стадии компиляции; г)функции,определяемые в иерархии составных типов со сло- вом virtual(виртуальный),имеют одно и то же имя и один и тот же набор параметров,а вариация действия,специфицируемого каждой функцией,зависит от места ее определения в иерархии; этот механизм называется динамическим,или виртуальным мето- дом доступа,так как поиск вызываемых в программе функций в иерархии производных типов производится динамически,т.е. на стадии выполнения программы. Различные функции обычно имеют разные имена,но функциям,вы- полняющим сходные действия и имеющим различные наборы пара- метров,иногда лучше дать возможность иметь одинаковые имена. Используя различия в наборах параметров,компилятор всегда может их идентифицировать и выбирать для вызова нужную фун- кцию.Можно,например,написать одну функцию возведения в сте- пень для различных сочетаний типов основания и показателя степени: overload pow;/*-е-возводимое в степень число:р-показатель:*/ int pow(int e,int p); double pow(double e,int p); double pow(double e,double p); x=pow(11,5);y=pow(12.6,7);y=pow(12.3,4.5);/*-вызовы pow; */ Описание overload pow сообщает компилятору,что использова- ние имени pow более,чем для одной функции,является умышлен- ным. Такой полиморфизм функций улучшает выразительные возмож- ности языка С++,но непосредственно не связан с объектно-ори- ентированным программированием,где используется полиморфизм методов доступа для объектов составного типа:структур,объеди- нений и классов. Хорошим примером полиморфных функций для составного объек- та является набор конструкторов составного типа,когда зада- 32
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »